home *** CD-ROM | disk | FTP | other *** search
/ The 640 MEG Shareware Studio 2 / The 640 Meg Shareware Studio CD-ROM Volume II (Data Express)(1993).ISO / os2 / pmcom110.zip / PMCOMM.HLP (.txt) < prev    next >
OS/2 Help File  |  1992-01-07  |  85KB  |  3,841 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. Installation Help ΓòÉΓòÉΓòÉ
  3.  
  4. When Pmcomm is shipped there are two different versions on the disk. The two 
  5. versions are Pmcomm version 1.05 and 1.10. The 1.10 version is to be used if 
  6. using a copy of OS/2 that is 1.2 or later. For OS/2 1.1 Pmcomm 1.05 must be 
  7. used. The two directories on the disk are Pmcom105 and Pmcom110, copy the 
  8. appropriate directory to your hard drive. Also, copy RxPmcomm.dll into a .dll 
  9. directory (i.e. C:\os2\dll). 
  10.  
  11. Pmcomm can be run from a command line by typing pmcomm, but it is recommended 
  12. that it be installed in a "Group". To do this access the Program menu on the 
  13. "Group" menu and chose the New option. This will bring up a dialog box where 
  14. the following information must be entered. 
  15.  
  16. Program title: Pmcomm 
  17.  
  18. Path and filename: user_specified_path\pmcomm.exe 
  19.  
  20. Parameters: setup.dat 
  21.  
  22. Working directory: user_specified_path 
  23.  
  24. Program type: Presentation Manager 
  25.  
  26. The final step is to select the Add option at the bottom of the dialog box. 
  27. Note: setup.dat will be created if not in existence. 
  28.  
  29. There is a program called timer.exe in the Pmcom109 directory that will allow 
  30. you to execute Pmcomm at specifed times. This will allow you to set up a script 
  31. to have Pmcomm dial numbers at certain times and capture mail, download files, 
  32. ect. 
  33.  
  34. To install Pmcomm's Host Mode see Installing_Pmcomm_Host_Mode. 
  35.  
  36.  
  37. ΓòÉΓòÉΓòÉ 2. Extended Help ΓòÉΓòÉΓòÉ
  38.  
  39. There is a collection of utilities in the File section such as; Scripts, 
  40. Capture, Print, Copy, and  Paste. There is also an About box that has 
  41. information on  Multi-Net Communications, the company that wrote this software. 
  42.  
  43. In the Edit section there are commands such as Copy, Paste, and Clear_Screen. 
  44. These commands will help you manipulate on-screen information. 
  45.  
  46. The Connect command allows you to connect to another computer, either through a 
  47. modem, using the Dial command or direct connect, using the Send_Break command. 
  48. The Initialize Modem command will send the modem initialization string to the 
  49. modem. This command allows the user to re-initialize the modem without exiting 
  50. and re-running Pmcomm. 
  51.  
  52. Transfer allows the use of different protocols to send and receive files to or 
  53. from a remote computer. The protocol options are Xmodem_Checksum, Xmodem_CRC, 
  54. 1K-Xmodem, Ymodem(batch), Ymodem-g(batch), Zmodem, Kermit, CISB, ASCII, and 
  55. IND$FILE (for downloads). Zmodem is probably the best selection when available 
  56. on the remote computer. Ymodem-G should only be used with error correcting 
  57. modems. 
  58.  
  59. Hang-up sends the hang-up command string (see the Option menu) and optionally 
  60. drops the DTR line to the modem. Dropping DTR is the most effective if your 
  61. modem is setup to hang-up when DTR is dropped. Using a hang-up string is also 
  62. slower, because Pmcomm has to get the modem into the command state before 
  63. sending the hang-up string. If you have DTR on and delete the hangup string the 
  64. hang-up will be much faster. 
  65.  
  66. Option allows you to tailor Pmcomm to your own tastes. The areas in option are 
  67. Port, Dial_Setup, Modem, Protocols, Paths, Macros_Setup, Screen, Status_Line, 
  68. Terminal, and Chat. The setup is not automatically saved. This allows you to 
  69. change things temporally without changing your default setup file. If you do 
  70. want to make the  changes permanent be sure to save the setup file. To save the 
  71. current setup file,  use the Save_setup command under the File menu option. 
  72.  
  73. Macros allows you to pick, with a mouse, the macro you wish to send. Macros can 
  74. also be selected with an Alt+corresponding number keystroke. Pmcomm allows you 
  75. to set up ten different macros. Scripts can be executed from macros by using 
  76. the shell command. An example of this would be: 
  77.  
  78. shell("c:\pmcomm\plane.cmd"); 
  79.  
  80. This would execute the REXX script called plane.cmd. This allows you a quick 
  81. and easy way to execute often used scripts. 
  82.  
  83.  
  84. ΓòÉΓòÉΓòÉ 2.1. Keys Help ΓòÉΓòÉΓòÉ
  85.  
  86. The following is a list of "Hot keys" available. 
  87.  
  88.   F1      =   Help. 
  89.  
  90.   F3      =   Exit. 
  91.  
  92.   Alt-D     =   Dialing directory. 
  93.  
  94.   Alt-H     =   Hangup. 
  95.  
  96.   Alt-Q     =   Dial Queue entries. 
  97.  
  98.   Alt-X     =   Exit. 
  99.  
  100.   Ctrl-Break  =   Send break. 
  101.  
  102.   Ctrl-Insert  =   Copy. 
  103.  
  104.   Shift-Insert  =  Paste. 
  105.  
  106.   Page-Dn   =   Download. 
  107.  
  108.   Page-Up   =   Upload. 
  109.  
  110.   Print Scrn  =   Prints text in the visible 
  111.            window (full line length). 
  112.  
  113.  The up and down arrow keys default to scrolling the window. You can change 
  114.  this in the setup terminal dialog box so that when in ANSI mode the arrow keys 
  115.  will be sent to the modem. 
  116.  
  117.  In VT100 mode, some keys have been changed to try to closely emulate the VT100 
  118.  keyboard. F1-F4 are now the PF keys. Because of this the F1 key will not 
  119.  display the normal help, and F3 will not exit the program. The PF keys will 
  120.  send the following characters: 
  121.  
  122.    F1 = ESCOP 
  123.  
  124.    F2 = ESCOQ 
  125.  
  126.    F3 = ESCOR 
  127.  
  128.    F4 = ESCOS 
  129.  
  130.  Where ESC is equal to the ASCII character hex 1B. All other hot keys will not 
  131.  be available. 
  132.  
  133.  In VT220 mode additional keys have been re-defined. While in this mode Pmcomm 
  134.  is not CUA compliant, because of the need to use some of the hot keys that 
  135.  OS/2 would normally use. In VT220 mode the F1-F4 keys will send the same 
  136.  characters as in VT100. In addition VT220 will also use other functions keys 
  137.  as follows: 
  138.  
  139.    F5  = BREAK (sends a break signal) 
  140.  
  141.    F6  = CSI17~ 
  142.  
  143.    F7  = CSI18~ 
  144.  
  145.    F8  = CSI19~ 
  146.  
  147.    F9  = CSI20~ 
  148.  
  149.    F10 = CSI21~ 
  150.  
  151.    F11 = CSI23~ 
  152.  
  153.    F12 = CSI24~ 
  154.  
  155.    Alt/F1  = CSI23~  (VT220 F11 function key) 
  156.  
  157.    Alt/F2  = CSI24~  (VT220 F12 function key) 
  158.  
  159.    Alt/F3  = CSI25~  (VT220 F13 function key) 
  160.  
  161.    Alt/F4  = CSI26~  (VT220 F14 function key) 
  162.  
  163.    Alt/F5  = CSI28~  (VT220 F15 function key) 
  164.  
  165.    Alt/F6  = CSI29~  (VT220 F16 function key) 
  166.  
  167.    Alt/F7  = CSI31~  (VT220 F17 function key) 
  168.  
  169.    Alt/F8  = CSI32~  (VT220 F18 function key) 
  170.  
  171.    Alt/F9  = CSI33~  (VT220 F19 function key) 
  172.  
  173.    Alt/F10 = CSI34~  (VT220 F20 function key) 
  174.  CSI will be one of two values, either the CSI character or the ANSI ESC[. If 
  175.  you are connected with 8 data bits and the host supports the 8 bit sequence 
  176.  then the CSI character will be used. When the num lock key is off the 
  177.  numerical key pad will be in the application mode. If you are connecting to a 
  178.  VT220 Host you can use these keys to send the VT220 PF key values. For example 
  179.  pressing the 1 on the numeric key pad will send the VT220 PF1 key. Pressing 
  180.  the 3 on the numeric key pad will send the VT220 PF3 key, and so on. With the 
  181.  num lock on the numbers will be sent. The plus key has been re-mapped to be a 
  182.  comma, again to be compatible with the VT100 keyboard. 
  183.  
  184.  
  185. ΓòÉΓòÉΓòÉ 3. File ΓòÉΓòÉΓòÉ
  186.  
  187. There is a collection of utilities in this section such as; Save_setup, 
  188. Scripts, Capture, Print, Copy, and  Paste. There is also an About box that has 
  189. information on  Multi-Net Communications, the company that wrote this software. 
  190.  
  191.  
  192. ΓòÉΓòÉΓòÉ 3.1. Save Setup ΓòÉΓòÉΓòÉ
  193.  
  194. Saves user definable configurations as well as screen size and position. 
  195.  
  196.  
  197. ΓòÉΓòÉΓòÉ 3.2. Capture ΓòÉΓòÉΓòÉ
  198.  
  199. Capture saves everything that is received from the modem to a file. For 
  200. example, you can capture all new messages and then read them after  you hang 
  201. up. If you specify PRN as the filename everything will be captured to the 
  202. printer. If you have Monitor_DCD selected then the capture file will be closed 
  203. when you log off. This will happen if you started the capture file from the 
  204. menu or from a internal script. 
  205.  
  206.  
  207. ΓòÉΓòÉΓòÉ 3.2.1. Start Capture ΓòÉΓòÉΓòÉ
  208.  
  209. You will be prompted for a file name and then everything that comes in from the 
  210. modem will be saved to that file. If PRN is selected then everything will be 
  211. sent to the printer. If the file exists you will be asked if you wish to 
  212. overwrite the file. If you select no, the new information will be appended to 
  213. the end of the file. Select cancel if you wish to abort the capture. 
  214.  
  215. You may also start the capture by clicking on the disk drive icon located on 
  216. the Status_Line. 
  217.  
  218.  
  219. ΓòÉΓòÉΓòÉ 3.2.2. Cancel Capture ΓòÉΓòÉΓòÉ
  220.  
  221. This command will turn off capture. This command will only work if capture was 
  222. started with the Start_Capture command. 
  223.  
  224. You may also cancel the capture command by clicking on the disk drive icon 
  225. located on the Status_Line. 
  226.  
  227.  
  228. ΓòÉΓòÉΓòÉ 3.3. Scripts ΓòÉΓòÉΓòÉ
  229.  
  230. Scripts allow you to have the computer perform certain tasks automatically. The 
  231. internal commands available are: 
  232.  
  233.  wait_for 
  234.  puts 
  235.  sleep 
  236.  call 
  237.  capture_on 
  238.  capture_off 
  239.  shell 
  240.  
  241.  The REXX commands that are available are: 
  242.  
  243.  init_dll 
  244.  setcom 
  245.  sendb 
  246.  dcd 
  247.  char_avail 
  248.  read_timeout 
  249.  Get_ch 
  250.  ring_detect 
  251.  drop_dtr 
  252.  raise_dtr 
  253.  Wait_for 
  254.  Wait_fore 
  255.  Put_s 
  256.  Sleep 
  257.  beep 
  258.  get_cursor_position 
  259.  get_char_at 
  260.  capture_on 
  261.  capture_off 
  262.  xmodem_send 
  263.  xmodem_receive 
  264.  xmodem_chk_send 
  265.  xmodem_chk_receive 
  266.  xmodem_1k_send 
  267.  xmodem_1k_receive 
  268.  ymodem_send 
  269.  ymodem_receive 
  270.  ymodemg_send 
  271.  ymodemg_receive 
  272.  zmodem_send 
  273.  zmodem_receive 
  274.  kermit_send 
  275.  kermit_receive 
  276.  ascii_send 
  277.  ascii_receive 
  278.  cisb_send 
  279.  cisb_receive 
  280.  set_download_path 
  281.  os2_shell 
  282.  
  283.  The 'C' library commands that are available are: 
  284.  
  285.  init_lib 
  286.  setcom 
  287.  sendb 
  288.  dcd 
  289.  char_avail 
  290.  read_timeout 
  291.  get_ch 
  292.  ring_detect 
  293.  drop_dtr 
  294.  raise_dtr 
  295.  wait_for 
  296.  wait_fore 
  297.  put_s 
  298.  sleep 
  299.  beep 
  300.  get_cursor_position 
  301.  get_char_at 
  302.  capture_on 
  303.  capture_off 
  304.  xmodem_send 
  305.  xmodem_receive 
  306.  xmodem_chk_send 
  307.  xmodem_chk_receive 
  308.  xmodem_1k_send 
  309.  xmodem_1k_receive 
  310.  ymodem_send 
  311.  ymodem_receive 
  312.  ymodemg_send 
  313.  ymodemg_receive 
  314.  zmodem_send 
  315.  zmodem_receive 
  316.  kermit_send 
  317.  kermit_receive 
  318.  ascii_send 
  319.  ascii_receive 
  320.  cisb_send 
  321.  cisb_receive 
  322.  set_download_path 
  323.  os2_shell 
  324.  
  325.  The scripts command is only available in the commercial version of Pmcomm. 
  326.  
  327.  
  328. ΓòÉΓòÉΓòÉ 3.3.1. Start Scripts ΓòÉΓòÉΓòÉ
  329.  
  330.  With this command you can start a pre-written script at any time, just enter 
  331. the file name of the script when prompted. If only the file name is entered, 
  332. the script path will be searched for the file. Full path and file names are 
  333. allowed. 
  334.  
  335. You may also start a script be clicking on the book icon located on the 
  336. Status_Line. 
  337.  
  338.  
  339. ΓòÉΓòÉΓòÉ 3.3.2. Script Dialog ΓòÉΓòÉΓòÉ
  340.  
  341. The Script Dialog displays information and options about the current script. 
  342. When the dialog is displayed you have the option of either aborting the script, 
  343. closing the dialog box, or skipping the currently executing command. 
  344.  
  345.  
  346. ΓòÉΓòÉΓòÉ 3.3.3. Cancel Script ΓòÉΓòÉΓòÉ
  347.  
  348. This command is used to stop a script that is already running. The script will 
  349. be canceled at the time this is selected unless the script is at a sleep 
  350. command. In this case the script will stop after the sleep time interval has 
  351. expired. 
  352.  
  353. You may also cancel a script by clicking on the book icon located on the 
  354. Status_Line. 
  355.  
  356.  
  357. ΓòÉΓòÉΓòÉ 3.3.4. Start Script Generator ΓòÉΓòÉΓòÉ
  358.  
  359. This is the command that executes Pmcomm's script generator. The script 
  360. generator will write a script in either REXX or Internal script syntax. If you 
  361. want a script that will log you on to a BBS turn the script generator on and 
  362. log on normally. Once finished logging on cancel the script generator. You now 
  363. have a script that will log you onto that BBS. 
  364.  
  365. You may also start the script generator by clicking on the generator icon 
  366. located on the Status_Line. 
  367.  
  368.  
  369. ΓòÉΓòÉΓòÉ <hidden> Filename ΓòÉΓòÉΓòÉ
  370.  
  371. Pmcomm allows you to choose either a path and filename or just the filename. If 
  372. only the filename is entered, Pmcomm will use the script directory that is 
  373. setup under the Paths option. Be sure that all REXX scripts have an extension 
  374. of .cmd and all Internal scripts have an extension of .scr. If these extensions 
  375. are not used Pmcomm will create the script but the script will not be able to 
  376. be executed. 
  377.  
  378.  
  379. ΓòÉΓòÉΓòÉ <hidden> Description ΓòÉΓòÉΓòÉ
  380.  
  381. This description will appear as the first line of the script. The description 
  382. will hopefully avoid any confusion about the purpose of the script a later 
  383. date. 
  384.  
  385.  
  386. ΓòÉΓòÉΓòÉ <hidden> REXX Script ΓòÉΓòÉΓòÉ
  387.  
  388. This will create a script using the REXX language. The filename must have an 
  389. extension of .cmd in order for it to be executed by the REXX interpreter. A 
  390. REXX script will execute a little slower than an Internal script, but it is 
  391. more flexible. 
  392.  
  393.  
  394. ΓòÉΓòÉΓòÉ <hidden> Internal Script ΓòÉΓòÉΓòÉ
  395.  
  396. This will create a script using Pmcomm's Internal script syntax. The filename 
  397. must have an .scr extension in order for it to be executed by Pmcomm. 
  398.  
  399.  
  400. ΓòÉΓòÉΓòÉ <hidden> Number of Characters in wait_fore ΓòÉΓòÉΓòÉ
  401.  
  402. The Number of Characters in wait_fore will decide the length of the wait_fore 
  403. statements. The default is 10 characters which for most purposes will be 
  404. adequate. 
  405.  
  406.  
  407. ΓòÉΓòÉΓòÉ 3.3.5. Cancel Script Generator ΓòÉΓòÉΓòÉ
  408.  
  409. This command turns of the script generator. You can also cancel the script 
  410. generator by clicking on the generator icon located on the Status_Line. 
  411.  
  412.  
  413. ΓòÉΓòÉΓòÉ 3.4. Log File  ΓòÉΓòÉΓòÉ
  414.  
  415. Logging writes to a file named pmcomm.log in the main pmcomm directory. The 
  416. type of information written is the time, date and name of the number  called. 
  417. The time, date, cps and name of files transferred will also be saved. If you 
  418. are setup  to monitor DCD the time and date of when the call was terminated 
  419. will also be recorded. 
  420.  
  421.  
  422. ΓòÉΓòÉΓòÉ 3.4.1. Start Logging ΓòÉΓòÉΓòÉ
  423.  
  424. The file named pmcomm.log in the main pmcomm directory will be opened. Any 
  425. logging information will be appended to the end of the file. 
  426.  
  427.  
  428. ΓòÉΓòÉΓòÉ 3.4.2. Cancel Logging ΓòÉΓòÉΓòÉ
  429.  
  430. The log file will be closed and no other information will be written to the log 
  431. file until it is re-opened using the Start Log option. 
  432.  
  433. You may also cancel logging by clicking on the log icon located on the 
  434. Status_Line. 
  435.  
  436.  
  437. ΓòÉΓòÉΓòÉ 3.5. File Import ΓòÉΓòÉΓòÉ
  438.  
  439. This command copies a file from disk and sends it to a remotely connected 
  440. computer. This can be handy for sending previously saved files as messages, or 
  441. during a chat session. At times this is handier then using the clipboard. The 
  442. delay time specified in the file import delay parameter under Options, 
  443. Protocols, will pause the specified number of seconds after each line has been 
  444. sent. This can be useful if the receiver can not process the information as 
  445. fast as Pmcomm can send it. 
  446.  
  447.  
  448. ΓòÉΓòÉΓòÉ 3.6. Print ΓòÉΓòÉΓòÉ
  449.  
  450. Print allows you to send information that was previously received out to the 
  451. printer. You can either send the information that is displayed on the visible 
  452. part of the window, or you can print the whole scroll back buffer. The print 
  453. function uses PRN as the device name for printing. 
  454.  
  455.  
  456. ΓòÉΓòÉΓòÉ 3.6.1. Print visible screen ΓòÉΓòÉΓòÉ
  457.  
  458. This command can also sent by pressing the Print Screen key. When Pmcomm 
  459. receives this message it prints all of the lines on the visible part of the 
  460. screen. 
  461.  
  462.  
  463. ΓòÉΓòÉΓòÉ 3.6.2. Print buffer ΓòÉΓòÉΓòÉ
  464.  
  465. When this is selected all of the scroll back buffer is sent out to the printer. 
  466. There are about 240 lines available in the scroll back buffer, so this command 
  467. may take awhile to complete. This does not mean that you can't do anything 
  468. else. Pmcomm will print in the background while you go on. 
  469.  
  470.  
  471. ΓòÉΓòÉΓòÉ 3.6.3. Print selected ΓòÉΓòÉΓòÉ
  472.  
  473. This will print previously selected text (by using the mouse) to the PRN 
  474. device. 
  475.  
  476. You may also print any selected text by clicking on the printer icon located on 
  477. the Status_Line. 
  478.  
  479.  
  480. ΓòÉΓòÉΓòÉ 3.6.4. Print continuous ΓòÉΓòÉΓòÉ
  481.  
  482. This will print everything that comes in from the com port to the PRN device. 
  483.  
  484.  
  485. ΓòÉΓòÉΓòÉ 3.6.5. Start continuous printing ΓòÉΓòÉΓòÉ
  486.  
  487. This will start continuous printing. Everything will be printed to the PRN 
  488. device. It is not recommended that you use this command unless you have the 
  489. OS/2 print spooler active. 
  490.  
  491. You may also start continuous printing by clicking on the printer icon located 
  492. on the Status_Line. 
  493.  
  494.  
  495. ΓòÉΓòÉΓòÉ 3.6.6. Cancel continuous printing ΓòÉΓòÉΓòÉ
  496.  
  497. This will cancel printing, that was started with the Start continuous printing 
  498. command. 
  499.  
  500. You may also cancel continuous printing by clicking on the printer icon located 
  501. on the Status_Line. 
  502.  
  503.  
  504. ΓòÉΓòÉΓòÉ 3.7. About ΓòÉΓòÉΓòÉ
  505.  
  506. The about box has information about this program, such as BBS support telephone 
  507. number, company name, version number, serial number, and copyright information. 
  508.  
  509.  
  510. ΓòÉΓòÉΓòÉ 3.8. Exit ΓòÉΓòÉΓòÉ
  511.  
  512. Ends current session with Pmcomm. Pmcomm closes the comport when exiting which 
  513. drops DTR. The hang-up string is also sent to the modem. 
  514.  
  515.  
  516. ΓòÉΓòÉΓòÉ 4. Edit ΓòÉΓòÉΓòÉ
  517.  
  518. In this section there are commands such as Copy, Paste, and Clear_Screen. 
  519.  
  520.  
  521. ΓòÉΓòÉΓòÉ 4.1. Copy ΓòÉΓòÉΓòÉ
  522.  
  523. Copy transfers information from the screen and places it into the Clipboard. 
  524. Other applications, such as a word processor, can then use this information. 
  525.  
  526.  
  527. ΓòÉΓòÉΓòÉ 4.2. Paste ΓòÉΓòÉΓòÉ
  528.  
  529. Paste, copies information from the clipboard and sends it out to the modem. 
  530. Care must be taken that the information sent can be handled by the remote 
  531. computer. A use for this command would be that you could enter a message in a 
  532. word processor, copy that message into the clipboard and then paste it into 
  533. Pmcomm. 
  534.  
  535.  
  536. ΓòÉΓòÉΓòÉ 4.3. Clear Screen ΓòÉΓòÉΓòÉ
  537.  
  538. Clears the whole screen including the scroll back buffer and resets the 
  539. attribute to the attribute defined in the setup area. 
  540.  
  541.  
  542. ΓòÉΓòÉΓòÉ 5. Connect ΓòÉΓòÉΓòÉ
  543.  
  544. This command allows you to connect to another computer, either through a modem, 
  545. using the Dial command or direct connect, using the Send_Break command. 
  546.  
  547.  
  548. ΓòÉΓòÉΓòÉ 5.1. Dial ΓòÉΓòÉΓòÉ
  549.  
  550. Dial uses a dialing_directory to store phone numbers and other information 
  551. about the computer. 
  552.  
  553.  
  554. ΓòÉΓòÉΓòÉ 5.1.1. Dial Dialog Help ΓòÉΓòÉΓòÉ
  555.  
  556. The dial dialog box allows you to add, select, modify, or delete entries in the 
  557. current dialing directory. An entry can also be selected to be automatically 
  558. selected (or optionally dialed) when Pmcomm is first started. 
  559.  
  560. To add an entry, select the add button in the dialog box. You will  then be 
  561. prompted to enter the name of the new entry. The directory will be sorted and 
  562. the new entry will be selected. The cursor will be positioned at the number 
  563. entry field so that the number for the new entry can be entered. After the 
  564. number has been entered, pressing the enter key will save the dialing directory 
  565. and dial the number(s). Pressing the tab key will allow you to edit the other 
  566. fields. 
  567.  
  568. To select a number, using a mouse, "click" on the number (or numbers) that you 
  569. wish  to dial. To de-select an entry "click" on the number once again. If you 
  570. are not using a mouse the arrow keys will move the highlight bar through the 
  571. directory. To select your choices press the space bar, a second time will 
  572. de-select the entry, then press enter. Multiple entries may be selected. This 
  573. will form a dialing queue, in which Pmcomm will dial the selected entries until 
  574. a connection is made. 
  575.  
  576. To modify an entry, select the entry to be edited and then use the tab key to 
  577. move the cursor to the field you wish to change. Use the Change button to 
  578. change the name of an entry. Pressing the save button will save the 
  579. modifications to the disk. 
  580.  
  581. To change a name, select the entry to be edited and then use press the change 
  582. button. The change will automatically be saved to the disk. 
  583.  
  584. To delete an entry, select the entry to be deleted and select the delete button 
  585. in the dialog box. 
  586.  
  587. CAUTION:
  588. If multiple entries are selected, only the first selected entry will be 
  589. deleted. 
  590.  
  591. The dial dialog box can also be accessed by clicking on the phone icon on the 
  592. Status_Line. 
  593.  
  594.  
  595. ΓòÉΓòÉΓòÉ 5.1.2. Dial Prefix ΓòÉΓòÉΓòÉ
  596.  
  597. Pmcomm sends the selected dial prefix to the modem before sending the phone 
  598. number. The default string for the prefixes is ATDT which tells the modem to 
  599. dial using tone (ie. touch tone). If your phone system does not support touch 
  600. tone then you could use the ATDP command. Pmcomm allows you to setup multiple 
  601. prefixes, so that if you need to dial a special code for long distance calls 
  602. you can set up a separate prefix for those calls. 
  603.  
  604.  
  605. ΓòÉΓòÉΓòÉ 5.1.3. Dial Suffix ΓòÉΓòÉΓòÉ
  606.  
  607. Pmcomm sends the selected dial suffix to the modem after sending the phone 
  608. number. The default string for the suffixes is ^M which is a carriage return 
  609. and line feed. 
  610.  
  611.  
  612. ΓòÉΓòÉΓòÉ 5.1.4. Automatically Selected ΓòÉΓòÉΓòÉ
  613.  
  614. If a dialing entry is marked as being automatically selected then each time 
  615. Pmcomm is started this entry will be selected to be dialed. You can have as 
  616. many entries automatically selected as you want, and this will form a dialing 
  617. queue. A dialing queue allows you to try the first number and if it is busy it 
  618. will then dial the next number in the queue. If the Dial Auto Selected Entries 
  619. on program Startup is selected then any entries in the dialing directory that 
  620. are marked as auto selected, will automatically be dialed. This option will 
  621. allow you to automatically dial selected numbers when Pmcomm is first invoked. 
  622.  
  623.  
  624. ΓòÉΓòÉΓòÉ 5.1.5. Dial List Box ΓòÉΓòÉΓòÉ
  625.  
  626. The Dial List Box is a multiple selection list box. This means that you can 
  627. select more then one entry at a time. The information on the right side of the 
  628. Dialog Box is on the first item selected. The reason for using a multiple 
  629. selection list box, is that you can select more than one item and these items 
  630. will be dialed in order. For example, if the first number selected is busy then 
  631. Pmcomm will dial the next number selected. If all selected numbers are busy, 
  632. Pmcomm will start over again. If you have multiple items selected and select 
  633. the Delete button, only the first item will be deleted. If an item is selected 
  634. and you double click on that item then the selected items will be dialed. 
  635.  
  636.  
  637. ΓòÉΓòÉΓòÉ 5.1.6. Baud Rate ΓòÉΓòÉΓòÉ
  638.  
  639. In the Dialing Dialog Box you can enter any baud supported by the device driver 
  640. you are using. Currently the maximum baud rate supported by the device driver 
  641. included with OS/2 is 19200. Commonly used baud rates are: 300, 1200, 2400, 
  642. 9600, and 19200. There are some device drivers currently available that support 
  643. up to 38400. To enter a baud rate, type in a valid baud rate. The com port will 
  644. be set to this value when the phone number is dialed. In the Port Options 
  645. Dialog Box the above mentioned baud rates can be selected by using the radio 
  646. buttons. 
  647.  
  648.  
  649. ΓòÉΓòÉΓòÉ 5.1.7. Parity ΓòÉΓòÉΓòÉ
  650.  
  651. The supported parities are: None, Even, Odd, Marked, and Space. To enter a 
  652. parity, type in one of the above words. The two most widely used parities are 
  653. None and Even. If you are calling most BBS's you would want to enter None, but 
  654. most packet networks (such as CompuServe and Telenet) normally require Even 
  655. parity. 
  656.  
  657.  
  658. ΓòÉΓòÉΓòÉ 5.1.8. Data Bits ΓòÉΓòÉΓòÉ
  659.  
  660. Currently supported data bits are 5, 6, 7, and 8. The most popular values are 7 
  661. and 8. For most BBS's 8 data bits are necessary, however, for systems such as 
  662. CompuServe, 7 data bits are required. 
  663.  
  664.  
  665. ΓòÉΓòÉΓòÉ 5.1.9. Stop Bits ΓòÉΓòÉΓòÉ
  666.  
  667. Currently supported stop bits are 1 and 2. Most systems will require 1 stop 
  668. bit. 
  669.  
  670.  
  671. ΓòÉΓòÉΓòÉ 5.1.10. Dial Script ΓòÉΓòÉΓòÉ
  672.  
  673. The script name can be up to 12 characters long. The script must be in the 
  674. script path (see Paths for more information). Any REXX script, Internal script, 
  675. or any OS/2 executable can be executed. Once Pmcomm is connected to the remote 
  676. computer this script will be executed. 
  677.  
  678.  
  679. ΓòÉΓòÉΓòÉ 5.1.11. Dial Terminal ΓòÉΓòÉΓòÉ
  680.  
  681. The currently available terminal emulations are TTY, ANSI, VT100, and VT220. 
  682. Pmcomm will switch to the terminal emulation listed once connected to the 
  683. remote computer. 
  684.  
  685.  
  686. ΓòÉΓòÉΓòÉ 5.2. Send Break ΓòÉΓòÉΓòÉ
  687.  
  688. Initializes a connection with another computer through a protocol converter. 
  689.  
  690.  
  691. ΓòÉΓòÉΓòÉ 5.3. Initialize Modem ΓòÉΓòÉΓòÉ
  692.  
  693. Pmcomm automatically sends the modem initialization string to the 
  694. communications port when the user first starts Pmcomm. If for some reason you 
  695. need to re-initialize the modem, you can use the Initialize Modem command to do 
  696. so. 
  697.  
  698.  
  699. ΓòÉΓòÉΓòÉ 6. Transfer ΓòÉΓòÉΓòÉ
  700.  
  701. Transfer allows the use of different protocols to send and receive files from a 
  702. remote computer. The protocol options are Xmodem_Checksum, Xmodem_CRC, 
  703. 1K-Xmodem, Ymodem(batch), Ymodem-g(batch), Zmodem, Kermit, CISB, and ASCII. 
  704. Zmodem is probably the best selection, when available on the remote computer. 
  705. Ymodem-G should only be used with error correcting modems. 
  706.  
  707. IND$FILE is available for downloads using the VT100, and VT220 terminal 
  708. emulations only. 
  709.  
  710. CAUTION:
  711. IND$FILE currently does not have any error detection available in Pmcomm. 
  712.  
  713.  
  714. ΓòÉΓòÉΓòÉ 6.1. Download ΓòÉΓòÉΓòÉ
  715.  
  716. The download command brings up a dialog box for you to select the proper 
  717. protocol. If the protocol selected is not a batch protocol ( ASCII, 
  718. Xmodem_Checksum, Xmodem_CRC or 1K-Xmodem ) you will be prompted for a filename. 
  719. If you have Auto-Zmodem or Auto_CISB selected in the protocol options area, 
  720. Pmcomm will automatically start transferring as soon as the remote computer 
  721. starts to send. Zmodem is not available in the demonstration version. 
  722.  
  723.  
  724. ΓòÉΓòÉΓòÉ 6.2. Upload ΓòÉΓòÉΓòÉ
  725.  
  726. When sending a file to a remote computer you must select the same protocol that 
  727. the remote computer will use to receive the file. After selecting the proper 
  728. protocol, a file open dialog box will have you select the file you wish to 
  729. send. You can either double click on the file name or select the file and click 
  730. on the OK button. If you have Auto_CISB selected in the protocol options area, 
  731. Pmcomm will automatically start the transfer as soon as the remote computer 
  732. sends the transfer request. With a CISB transfer the filename is specified on 
  733. the host and the file open dialog box is not displayed. 
  734.  
  735. You may also use the drag and drop feature of Pmcomm. When files are dragged 
  736. from the file manager and dropped onto Pmcomm, the transfer protocol that is 
  737. listed for that phone number will be invoked and the file(s) will be sent to 
  738. the remote computer. If you have Monitor_DCD selected then drag options will 
  739. not be allowed until connected with another computer. 
  740.  
  741. To drag files from the file manager, select a file (or files) and then click on 
  742. the selected file(s) with the RIGHT mouse button and hold the button down. Once 
  743. you have begun to drag the files with the mouse the mouse pointer will change 
  744. shape. If the mouse pointer is over a program that does not accept drag and 
  745. drop the pointer will again change shape. When the mouse pointer is over any 
  746. part of Pmcomm you can release the right mouse button. This will drop the files 
  747. onto Pmcomm and Pmcomm will send them. This will even work if Pmcomm is an 
  748. icon. 
  749.  
  750. To change the protocol for the current phone number, select upload from the 
  751. menu and then select the protocol you want (make sure that the save to dialing 
  752. directory is selected). After pressing the OK button the file open dialog box 
  753. will be displayed. Just press cancel and you can now use the drag and drop with 
  754. the new protocol. 
  755.  
  756. If a file is dropped onto Pmcomm while it is an icon in a group menu, this file 
  757. will be used as a setup file, and Pmcomm will be invoked. 
  758.  
  759.  
  760. ΓòÉΓòÉΓòÉ 6.2.1. Xmodem Checksum ΓòÉΓòÉΓòÉ
  761.  
  762. Xmodem Checksum is one of the oldest protocols around and some people still use 
  763. it exclusively. It is a moderately fast protocol that has fairly good error 
  764. detection. 
  765.  
  766.  
  767. ΓòÉΓòÉΓòÉ 6.2.2. Xmodem CRC ΓòÉΓòÉΓòÉ
  768.  
  769. Xmodem CRC and Xmodem_Checksum are similar except CRC has better error 
  770. detection then Checksum. Almost anywhere you call will offer at least one of 
  771. these protocols. 
  772.  
  773.  
  774. ΓòÉΓòÉΓòÉ 6.2.3. 1k-Xmodem ΓòÉΓòÉΓòÉ
  775.  
  776. 1k-Xmodem uses the same error detection as Xmodem_CRC, but uses 1024 byte 
  777. blocks instead of 128 byte blocks. This allows for greater throughput (higher 
  778. characters per second) with roughly the same error detection. 
  779.  
  780.  
  781. ΓòÉΓòÉΓòÉ 6.2.4. Ymodem ΓòÉΓòÉΓòÉ
  782.  
  783. Ymodem uses the same error detection and block size as 1k-Xmodem but is a batch 
  784. protocol. This means that in the first block the file size and name are sent. 
  785. This keeps the receiver from having to type in the filename. It also allows you 
  786. to send more then one file without have to start the transfer again. This 
  787. protocol is second to Zmodem, in our opinion, when using non-error correcting 
  788. modems. 
  789.  
  790.  
  791. ΓòÉΓòÉΓòÉ 6.2.5. Ymodem-g ΓòÉΓòÉΓòÉ
  792.  
  793. Ymodem-g is identical to Ymodem except it has no error correction. If an error 
  794. is detected the transfer aborts. Because of this Ymodem-g should only be used 
  795. with error correcting modems. Pmcomm will allow you to use this protocol 
  796. anytime, but again care should be taken on what hardware it is used with. With 
  797. the proper hardware Ymodem-g has the fastest cps (characters per second). 
  798.  
  799.  
  800. ΓòÉΓòÉΓòÉ 6.2.6. Zmodem ΓòÉΓòÉΓòÉ
  801.  
  802. Zmodem is almost as fast as Ymodem-g, however Zmodem does support error 
  803. correction and file recovery. It only takes one aborted Ymodem-g transfer to 
  804. lose all it's advantages. Zmodem has many advantages as far as the user is 
  805. concerned. It is probably the easiest protocol to use. If using Pmcomm with the 
  806. Auto-Zmodem download feature, the whole download is done automatically from the 
  807. Pmcomm end. You have to select the file from the sender (BBS etc..) and once 
  808. the sender starts sending, the transfer will begin on Pmcomm. It may take a 
  809. moment before the sender sends the first sequence, so wait a moment. Some of 
  810. the advanced features of Zmodem are listed below. Zmodem supports: 
  811.  
  812.   1. CRC-32 and CRC-16. The additional error detection of 32 bit CRC is 
  813.      supported. 
  814.  
  815.   2. File recovery. If a Zmodem download is aborted for any reason the transfer 
  816.      will resume at the point where it was  aborted. You don't have to start 
  817.      the whole transfer over. 
  818.  
  819.   3. Auto-Download. When a Zmodem sending program starts up it first sends a rz 
  820.      and then a carriage return. Pmcomm will monitor for the startup sequence 
  821.      and automatically start the Zmodem download. Great care has been taken to 
  822.      make sure that it really is a Zmodem transfer and not someone typing it in 
  823.      at the keyboard (at either end). This feature makes downloading with 
  824.      Zmodem much faster and much easier. 
  825.  
  826.   4. Variable length headers. This reduces the amount of overhead that accrues 
  827.      with sending Zmodem headers. This is only used if supported by both the 
  828.      sender and receiver. 
  829.  
  830.   5. RLE encoding. Run length encoding is a form of file compression. Instead 
  831.      of sending 20 spaces it will send a space and the number 20. The receiver 
  832.      will then decompress it. Because of the multi-thread (tasking) 
  833.      capabilities of OS/2 this works much better then with DOS. This also is 
  834.      only used if supported by both the sender and receiver. 
  835.  
  836.   6. Variable length receive buffers. Some Zmodem receive programs have 
  837.      problems with writing to the disk and receiving from the comport at the 
  838.      same time. If necessary Zmodem will wait for an ACK from the receiver 
  839.      after the specified buffer size has been sent. This will only be done if 
  840.      it is requested by the receiver requests it. 
  841.  
  842.   7. Retains original file size. Some people say that because Zmodem headers 
  843.      are larger that there is two much overhead. This really isn't the case. 
  844.      For example if comparing Zmodem to Ymodem-g (full flow Ymodem), Ymodem-g 
  845.      has less overhead with each packet. However Ymodem-g rounds the file size 
  846.      up to an even 128 byte size. In some cases it is even rounded up 1024 
  847.      bytes. This is done because Ymodem (g or otherwise) only supports two 
  848.      block sizes, 128 and 1024 (the block size is actually 133 and 1029 to 
  849.      allow for the block header, STX or SOH, and the CRC value), so it has to 
  850.      send full blocks. However, Zmodem uses variable  block sizes. The block 
  851.      sizes adjust from 32 bytes to 1024 bytes. If telephone line quality is 
  852.      poor smaller blocks are sent so that if an error does occur less data will 
  853.      have to be resent. As the line quality improves the size of the blocks 
  854.      will be increased. The starting block size is variable depending on the 
  855.      connected baud rate. 
  856.  
  857.   8. Error recovery. Because Zmodem can resend from any place in the file, 
  858.      aborted transfers are rare. 
  859.  
  860.  By reading this you can tell our favorite protocol is Zmodem. Once you have 
  861.  used Zmodem it's hard to get used to using other protocols. 
  862.  
  863.  
  864. ΓòÉΓòÉΓòÉ 6.2.7. ASCII ΓòÉΓòÉΓòÉ
  865.  
  866. The ASCII protocol can be used to transfer text files. There is no error 
  867. detection or correction available with this protocol. It is recommended that 
  868. one of the other protocols be used, even with text files. 
  869.  
  870.  
  871. ΓòÉΓòÉΓòÉ 6.2.8. CISB ΓòÉΓòÉΓòÉ
  872.  
  873. The CIS B protocol can be used to transfer files to and from CompuServe. 
  874. CompuServe B, B+ and Quick B are supported. Quick B is the fastest variant of 
  875. the B protocol and is automatically selected when it is supported on the host 
  876. computer. The CIS B protocol is an automatic protocol where the host initiates 
  877. the transfer and Pmcomm will automatically go into the send or receive mode. If 
  878. you are sending a file, the file must exist in the download directory of 
  879. Pmcomm. If Pmcomm is unable to find the file then the transfer will abort. 
  880. Pmcomm can be configured to ignore the CIS B protocol by de-selecting the 
  881. Automatic CIS B option in the Protocol Option Dialog. Pmcomm may run slightly 
  882. faster in terminal mode without this selection. Under most systems the 
  883. difference will not be detectable. 
  884.  
  885. Another option for CIS B is for file recovery. What this option will do is if 
  886. you started a download and aborted the transfer you can then re-start the 
  887. transfer and CIS B will resume from the place where it was aborted. This can be 
  888. very handy in poor phone line conditions. The packet size for CIS B is adjusted 
  889. by the connecting baud rate. For example, if you are connected to CompuServe at 
  890. 2400 baud the packet size will be 1024 bytes. If you connect at 1200 baud the 
  891. packet size will be 512 bytes. This allows for speedy error recovery in case a 
  892. error occurs because of phone line noise. Downloads will automatically be 
  893. placed in the Pmcomm download directory and the download directory will 
  894. automatically searched for any uploaded files. If you specify a path with the 
  895. filename when  CompuServe asks for a filename for your computer, then this path 
  896. will be used. CIS B should be the protocol used when transferring files to and 
  897. from CompuServe. 
  898.  
  899.  
  900. ΓòÉΓòÉΓòÉ 6.2.9. Kermit ΓòÉΓòÉΓòÉ
  901.  
  902. Kermit is the slowest protocol offered here and should only be used when no 
  903. other protocol is available. Kermit does have advantages and it is offered on 
  904. many mini-computers as well as mainframes. Kermit will also transfer binary 
  905. files when connected at 7,E,1. The maximum packet size that is allowed is 94 
  906. bytes which is one of the reasons that makes Kermit slow. There is a variation 
  907. of Kermit that allows larger packet size, but it is not implemented in Pmcomm. 
  908. Kermit allows batch transfers, both in sending and receiving, and will attempt 
  909. to preserve the file names. If Pmcomm gets an error when trying to create the 
  910. file name received from the sender it will convert it to a "8.3" type of file 
  911. name. Kermit allows variable packet sizes so the original file size is 
  912. maintained. 
  913.  
  914. Pmcomm allows you to change the "End of Line" character (also called end of 
  915. packet), the "Quoting character" (sent before control codes), the "pad 
  916. character", and the number of pad characters you want. You can also tell Pmcomm 
  917. to force an 8 bit transfer even if it is on at 7,E,1. This comes in handy if 
  918. you are downloading files from Compu-Serve. If this option is not selected and 
  919. you are on at 7 data bits, Pmcomm will use what is called the 7 bit quoting. 
  920. The 7 bit quote character that Pmcomm uses is a &. 
  921.  
  922.  
  923. ΓòÉΓòÉΓòÉ 6.2.10. IND$FILE ΓòÉΓòÉΓòÉ
  924.  
  925. IND$FILE currently is only supported under VT100 and VT220 terminal emulations 
  926. through a 3708 protocol converter. Because of problems with character 
  927. conversion through the protocol converter error detection is not currently 
  928. available. Because of this, files received using IND$FILE maybe CORRUPTED! Use 
  929. this protocol at your own risk! IND$FILE is not a very efficient protocol 
  930. because every byte that is transferred must be checked to see if it will pass 
  931. through a 7 bit data stream and escaped if it will not. This can greatly reduce 
  932. the amount of data that can be sent in each packet. 
  933.  
  934.  
  935. ΓòÉΓòÉΓòÉ <hidden> PC File Name ΓòÉΓòÉΓòÉ
  936.  
  937. This is the file name which will be used on the receiver. If a full path and 
  938. file name are used the file will reside at that address. If just a file name is 
  939. specified the file will be stored in the upload directory set in the Paths menu 
  940. option. This file name must be specified or the transfer will not work. 
  941.  
  942.  
  943. ΓòÉΓòÉΓòÉ <hidden> Host File Name ΓòÉΓòÉΓòÉ
  944.  
  945. This is the file name as it resides on the Host. If this filename is not 
  946. specified, Pmcomm will default to the PC File Name as the Host File Name. 
  947.  
  948.  
  949. ΓòÉΓòÉΓòÉ <hidden> Binary ΓòÉΓòÉΓòÉ
  950.  
  951. This option will tell the Host to send the file as a Binary file. 
  952.  
  953.  
  954. ΓòÉΓòÉΓòÉ <hidden> Ascii ΓòÉΓòÉΓòÉ
  955.  
  956. This option will tell the Host to send the file as an Ascii file. 
  957.  
  958.  
  959. ΓòÉΓòÉΓòÉ <hidden> CRLF ΓòÉΓòÉΓòÉ
  960.  
  961. This option will tell the Host to send a "carriage return line feed" after each 
  962. record. This option will be needed on most Ascii file transfers while rarely 
  963. needed with a Binary file transfer. 
  964.  
  965.  
  966. ΓòÉΓòÉΓòÉ 6.2.11. Save to Dial Directory ΓòÉΓòÉΓòÉ
  967.  
  968. When this option is selected the file transfer protocol that is selected will 
  969. be saved into the dialing directory for this number. The next time a file 
  970. transfer is used when connected to this number this same protocol will be 
  971. selected and all the user will have to do is press the OK button. If you do not 
  972. want this protocol save then de-select this option. 
  973.  
  974.  
  975. ΓòÉΓòÉΓòÉ 7. Hangup ΓòÉΓòÉΓòÉ
  976.  
  977. Hang-up sends the hang-up command string (see the Option menu) and optionally 
  978. drops the DTR line to the modem. Dropping DTR is the most effective if your 
  979. modem is setup to hang-up when DTR is dropped. Using a hang-up string is also 
  980. slower because Pmcomm has to get the modem into the command state before 
  981. sending the hang-up string. If you have DTR on and delete the hang-up string 
  982. the hang-up will be much faster. The default string is : +++~~~~ATH^M. The +++ 
  983. is the default modem attention string, which puts the modem into the command 
  984. state. The ~~~~ will make Pmcomm pause 2 seconds (.5 seconds per ~) and then 
  985. the ATH will force the modem to go on-hook (hangup). The ^M sends a carriage 
  986. return line feed combination. 
  987.  
  988.  
  989. ΓòÉΓòÉΓòÉ 8. Options ΓòÉΓòÉΓòÉ
  990.  
  991. Option allows you to tailor Pmcomm to your own tastes. The areas in option are: 
  992. Port, Dial_Setup, Modem, Protocols, Paths, Macros_Setup, Screen, Terminal, and 
  993. Chat. The setup is not automatically saved. This allows you to change things 
  994. temporally without changing your default setup file. If you do want to make the 
  995. changes permanent be sure to save the setup file. To save the current setup 
  996. file,  use the Save_setup command under the File menu option. 
  997.  
  998.  
  999. ΓòÉΓòÉΓòÉ 8.1. Port ΓòÉΓòÉΓòÉ
  1000.  
  1001. The device name should be a valid com device name. Some third party device 
  1002. drivers allow you to use names other then COM1, COM2, etc., so Pmcomm does not 
  1003. limit you to these names. Hardware flow control and DTR should be on for most 
  1004. modems. There are currently a couple third party device drivers as well as OS/2 
  1005. 2.0, that support 38400 baud, so Pmcomm has been made to support this baud 
  1006. rate. 
  1007.  
  1008.  
  1009. ΓòÉΓòÉΓòÉ 8.1.1. Device Open Error Retries ΓòÉΓòÉΓòÉ
  1010.  
  1011. This is the number of attempts Pmcomm will try to open a device. After the 
  1012. specified number of attempts Pmcomm will exit. If 0 is entered, Pmcomm will not 
  1013. retry to open the device. This option is generally used to access a shared com 
  1014. port (i.e. modem pool). 
  1015.  
  1016.  
  1017. ΓòÉΓòÉΓòÉ 8.1.2. Seconds Between Retries ΓòÉΓòÉΓòÉ
  1018.  
  1019. This is the number of seconds Pmcomm will wait before retrying to open a 
  1020. device. 
  1021.  
  1022.  
  1023. ΓòÉΓòÉΓòÉ 8.1.3. Device Name ΓòÉΓòÉΓòÉ
  1024.  
  1025. The device name should be a valid com device name. Some third party device 
  1026. drivers allow you to use, and in some cases require that you use, names other 
  1027. then COM1, COM2, etc., so Pmcomm does not limit you to these names. If you are 
  1028. using Pmcomm across a LAN then normally there will be an Alias name for the com 
  1029. port you are using on the server. See your LAN administrator for the Alias 
  1030. name(s) that you should use to access the modem(s). 
  1031.  
  1032.  
  1033. ΓòÉΓòÉΓòÉ 8.1.4. Hardware Flow Control ΓòÉΓòÉΓòÉ
  1034.  
  1035. Hardware Flow Control is generally the most reliable method of flow control. 
  1036. There are two basic times when flow control is needed. First, if Pmcomm is 
  1037. sending information to the modem faster than the modem is able to send the 
  1038. information flow control is needed. If flow control is not enabled then a 
  1039. transmission error will occur. Second if the modem is sending information to 
  1040. Pmcomm faster then Pmcomm can receive it, then Pmcomm will try to tell the 
  1041. modem to stop sending the information. This can occur when an excessive amount 
  1042. of processing is being preformed on the computer. Hardware Flow Control uses 
  1043. two modem signals to control the flow of information. For send flow control the 
  1044. CTS modem line is used. For receive flow control the RTS modem line is used. If 
  1045. your modem supports these flow control signals, then setup your modem and 
  1046. Pmcomm for Hardware Flow Control. 
  1047.  
  1048.  
  1049. ΓòÉΓòÉΓòÉ 8.1.5. XON/XOFF Flow Control ΓòÉΓòÉΓòÉ
  1050.  
  1051. Xon/Xoff Flow Control should only be used when Hardware_Flow_Control is not 
  1052. available and when flow control is necessary. The only two file transfers that 
  1053. will work correctly with Xon/Xoff are ASCII and Zmodem. The only other protocol 
  1054. that should need flow control is Ymodem-g. 
  1055.  
  1056.  
  1057. ΓòÉΓòÉΓòÉ 8.1.6. Use DTR ΓòÉΓòÉΓòÉ
  1058.  
  1059. DTR stands for Data Terminal Ready, which by lowering DTR you can signal the 
  1060. device you are communicating with (usually a modem) that you wish to go off 
  1061. line. If you are connected to a modem you should set the modem up to go on-hook 
  1062. when the modem detects a drop in DTR. The command for a Hayes 2400 baud modem 
  1063. is AT&D2. If this option is selected in Pmcomm, then DTR will be dropped when 
  1064. the hangup command is selected, or after each re-dial attempt. 
  1065.  
  1066.  
  1067. ΓòÉΓòÉΓòÉ 8.1.7. Monitor DCD ΓòÉΓòÉΓòÉ
  1068.  
  1069. DCD stands for Data Carrier Detect and is pin 8 on an RS-232C cable. When a 
  1070. carrier is detected by the modem, Pmcomm assumes that you are connected to a 
  1071. remote computer. If DCD is not supported by your modem or other hardware, then 
  1072. this option should be turned off. With this option turned on, if no DCD is 
  1073. present then Pmcomm will not Hangup, or go into a file transfer. The drag and 
  1074. drop from the file manager will also be disabled. The command for a Hayes 2400 
  1075. baud modem is AT&C1. This will have the modem track the state of DCD. 
  1076.  
  1077.  
  1078. ΓòÉΓòÉΓòÉ 8.1.8. Default Baud ΓòÉΓòÉΓòÉ
  1079.  
  1080. The default baud is the baud rate that the com port is set to when Pmcomm is 
  1081. first executed. The baud rate is changed to the value in the dialing directory 
  1082. when a number is dialed. Normally the default baud should be set to the highest 
  1083. baud rate supported by your modem. If you have Pmcomm connected directly to 
  1084. another computer with a NULL modem cable, then you want to set this baud to the 
  1085. same baud rate that the other computer is using. 
  1086.  
  1087.  
  1088. ΓòÉΓòÉΓòÉ 8.1.9. Default Data Bits ΓòÉΓòÉΓòÉ
  1089.  
  1090. This selection allows you to select the number of data bits that will be used 
  1091. when the communications port is initially opened. This option will be 
  1092. overridden with the parameters listed in the dialing directory once you have 
  1093. connected with a remote computer. 
  1094.  
  1095.  
  1096. ΓòÉΓòÉΓòÉ 8.1.10. Default Parity ΓòÉΓòÉΓòÉ
  1097.  
  1098. This selection allows you to select the parity that will be used when the 
  1099. communications port is initially opened. This option will be overridden with 
  1100. the parameters listed in the dialing directory once you have connected with a 
  1101. remote computer. 
  1102.  
  1103.  
  1104. ΓòÉΓòÉΓòÉ 8.1.11. Default Stop Bits ΓòÉΓòÉΓòÉ
  1105.  
  1106. This selection allows you to select the number of stop bits that will be used 
  1107. when the communications port is initially opened. This option will be 
  1108. overridden with the parameters listed in the dialing directory once you have 
  1109. connected with a remote computer. 
  1110.  
  1111.  
  1112. ΓòÉΓòÉΓòÉ 8.2. Dial Setup ΓòÉΓòÉΓòÉ
  1113.  
  1114. This allows you to select a dialing_directory from a list box and also lets you 
  1115. setup the prefix and suffix of the number to be dialed. There is a list box 
  1116. that will allow you to select how the dialing directory will be sorted. You can 
  1117. sort the dialing directory by name, number, baud rate, last on, number of times 
  1118. called, download cps, upload cps, dial prefix, and dial suffix. You can also 
  1119. select either ascending or descending order. 
  1120.  
  1121.  
  1122. ΓòÉΓòÉΓòÉ 8.2.1. Dial Auto Selected Entries ΓòÉΓòÉΓòÉ
  1123.  
  1124. If the Dial Auto Selected Entries on program Startup is selected then any 
  1125. entries in the dialing directory that are marked as automatically_selected , 
  1126. will automatically be dialed. This option will allow you to automatically dial 
  1127. selected numbers when Pmcomm is first invoked. This can be very useful if you 
  1128. dial the same numbers each time you run Pmcomm. 
  1129.  
  1130.  
  1131. ΓòÉΓòÉΓòÉ 8.2.2. Sort Dialing Directory ΓòÉΓòÉΓòÉ
  1132.  
  1133. The dialing_directory can be sorted by either the name, phone number, baud 
  1134. rate, last time called, number of times called, download characters per second, 
  1135. upload characters per second, dial prefix, or dial suffix. The directory can be 
  1136. sorted in either ascending or descending order. For example you can sort the 
  1137. dialing directory by last time called in descending order, and all the most 
  1138. recently called numbers will be displayed at the top of the dialing directory. 
  1139.  
  1140.  
  1141. ΓòÉΓòÉΓòÉ 8.2.3. Dialing Directory List ΓòÉΓòÉΓòÉ
  1142.  
  1143. A list of the available dialing_directories are displayed in a list box, so 
  1144. that a default directory can be selected. The selected directory will 
  1145. automatically be loaded when Pmcomm is started. You can add additional 
  1146. directories by pressing the add button. 
  1147.  
  1148.  
  1149. ΓòÉΓòÉΓòÉ 8.3. Modem ΓòÉΓòÉΓòÉ
  1150.  
  1151. The initialization string should have the commands in it to enable word result 
  1152. codes, hang-up when DTR is dropped and enable hardware flow control. Not all of 
  1153. these are supported by all modems but use them when possible. Pause before 
  1154. redial is the time Pmcomm waits before trying to re-dial a number. Seconds to 
  1155. wait for carrier is how long  Pmcomm will wait for a connection before 
  1156. re-dialing. 
  1157.  
  1158.  
  1159. ΓòÉΓòÉΓòÉ 8.3.1. Modem Initialization String ΓòÉΓòÉΓòÉ
  1160.  
  1161. Initialization string should have the commands in it to enable word result 
  1162. codes, hang-up when DTR is dropped and enable hardware flow control. Not all of 
  1163. these are supported by all modems, but use them when possible. Pmcomm's default 
  1164. modem string is for a Hayes 2400 baud modem. This is the default string: 
  1165.  
  1166.  AT&F&D2&C1M0Q0S2=255S10=30X4 
  1167.  
  1168.  For a Courier HST the following string should be entered. 
  1169.  
  1170.  AT&FM0&B1&H1&K0&R2&S1&Y0S2=43S10=30X4 
  1171.  
  1172.  This allows everything to be transferred to the modem at 19200 no matter what 
  1173.  the connect baud is. This setting will give you the max through-put even at 
  1174.  lower baud rates. To write this into memory of the HST run Pmcomm and then 
  1175.  enter AT&F&W. This will set the NRAM to the factory defaults. Then type in the 
  1176.  setup string and press enter. To save this to the NRAM enter AT&W. Then all 
  1177.  you have to have for a initialization string in Pmcomm is an ATZ, which will 
  1178.  restore these settings from the NRAM. On the HST I have the DIP switches set 
  1179.  as follows: 
  1180.  
  1181.  up: 1,2,4,6,7,9,10 
  1182.  down: 3,5,8 
  1183.  
  1184.  For a Hayes 9600 V.42 modem the following string should be entered. 
  1185.  
  1186.  AT&F&K3W1&C1&D2S36=7S0=0S2=255S7=30M0S10=30X4N1 
  1187.  
  1188.  
  1189. ΓòÉΓòÉΓòÉ 8.3.2. Modem Pause Before Redial ΓòÉΓòÉΓòÉ
  1190.  
  1191. Pmcomm will pause for the specified number of seconds before attempting to 
  1192. re-dial a phone number. Some phone systems take a few seconds before you can 
  1193. re-dial a phone number. The default value is 3 seconds and should work for most 
  1194. phone systems. 
  1195.  
  1196.  
  1197. ΓòÉΓòÉΓòÉ 8.3.3. Modem Dial Timeout ΓòÉΓòÉΓòÉ
  1198.  
  1199. Pmcomm will wait for a Connect or Carrier message from the modem for up to 64 
  1200. seconds. The S7 register of the modem must also be set to a value at least as 
  1201. great as the dial timeout value. This can be done by issuing the following 
  1202. command to the modem: ATS7=30. This would set the modem to timeout after 30 
  1203. seconds. Setting the dial timeout to a value greater then 30 would not be 
  1204. effective because the modem would still timeout after 30 seconds. The default 
  1205. timeout value for Pmcomm is 60 seconds. 
  1206.  
  1207.  
  1208. ΓòÉΓòÉΓòÉ 8.4. Protocols ΓòÉΓòÉΓòÉ
  1209.  
  1210. The options under protocols are: 
  1211.  
  1212.  Auto Zmodem Download. 
  1213.  
  1214.  Zmodem file recovery. 
  1215.  
  1216.  Zmodem CRC-32. 
  1217.  
  1218.  Zmodem CRC-16. 
  1219.  
  1220.  Auto CISB Transfer. 
  1221.  
  1222.  CISB file recovery. 
  1223.  
  1224.  Import File line delay. 
  1225.  
  1226.  Force 8 bit transfer. 
  1227.  
  1228.  End of line character. 
  1229.  
  1230.  Control quote character. 
  1231.  
  1232.  Number of pad characters. 
  1233.  
  1234.  Pad character. 
  1235.  
  1236.  IND$FILE. 
  1237.  
  1238.  Auto Zmodem makes Pmcomm check for a Zmodem start sequence. When received, 
  1239.  Pmcomm automatically starts receiving the file. Zmodem file recovery allows 
  1240.  Zmodem to resume a file transfer that was previously aborted. CRC-32 has 
  1241.  improved error correction but is slightly slower. If CRC-32 is not available 
  1242.  Pmcomm will switch to CRC-16. Zmodem is only available on commercial versions. 
  1243.  Auto CISB is similar to Auto Zmodem except that both uploads and downloads can 
  1244.  be started this way. This feature is for the CISB file transfer protocol. CISB 
  1245.  file recovery allows CISB to resume a file transfer that was previously 
  1246.  aborted. The IND$FILE protocol may also be selected for downloads. 
  1247.  
  1248.   CAUTION:
  1249.  The IND$FILE file transfer protocol in Pmcomm, currently, does not support any 
  1250.  error detection. 
  1251.  
  1252.  The rest are Kermit options and should be made to match your host. 
  1253.  
  1254.  
  1255. ΓòÉΓòÉΓòÉ 8.5. Paths ΓòÉΓòÉΓòÉ
  1256.  
  1257. The download path allows you to have the files that you download put into a 
  1258. different directory. The script path is where Pmcomm looks for the scripts 
  1259. listed in the dialing directory. The startup script is a script that will be 
  1260. executed each time Pmcomm is started. The default name is startup.scr. The 
  1261. capture path is where all screen captures are stored. These paths must contain 
  1262. a valid directory. It defaults to the directory that Pmcomm was started from. 
  1263. There is also a call logging option here which when turned on will start call 
  1264. logging as soon as Pmcomm is run. 
  1265.  
  1266.  
  1267. ΓòÉΓòÉΓòÉ 8.6. Macros Setup ΓòÉΓòÉΓòÉ
  1268.  
  1269. There are 10 user definable keyboard macros. These can be invoked by holding 
  1270. down the Alt key and pressing 0-9. Use ^M to send a carriage return. When the 
  1271. macro is invoked it will send the string that you have defined to the modem. 
  1272. Once you  have setup the macro string, it can also be selected from the main 
  1273. menu using a mouse. Other special characters are: ^H = tab character. 
  1274.  
  1275.  ^J = carriage return without a line feed. 
  1276.  
  1277.  ^L = form feed. 
  1278.  
  1279.  ^[ = escape character (Ascii 27) 
  1280.  
  1281.  ^C = send the Ctrl-C character (Ascii 3) 
  1282.  
  1283.  ^K = XON character 
  1284.  
  1285.  ^S = XOFF character 
  1286.  
  1287.  ~  = sleep for half a second 
  1288.  
  1289.  You can also send any other special character by holding down the Alt key and 
  1290.  typing in the Ascii number on the numeric key pad. For example, if you want to 
  1291.  enter the escape character into a macro you could hold down the Alt key and 
  1292.  then press the two and the seven on the numeric key pad (while still holding 
  1293.  down the Alt key). When you then release the Alt key the escape character 
  1294.  would be inserted into the macro. Scripts can be executed from macros by using 
  1295.  the shell command. An example of this would be: 
  1296.  
  1297.  shell("c:\pmcomm\plane.cmd"); 
  1298.  
  1299.  This would execute the REXX script called plane.cmd. This allows you a quick 
  1300.  and easy way to execute often used scripts. 
  1301.  
  1302.  
  1303. ΓòÉΓòÉΓòÉ 8.7. Screen ΓòÉΓòÉΓòÉ
  1304.  
  1305. This command allows you to tailor the screen handling to your tastes. The best 
  1306. thing to do is try them to see if you like them. Some features like the 
  1307. automatic horizontal scroll will probably only be used when typing messages and 
  1308. chatting. 
  1309.  
  1310.  
  1311. ΓòÉΓòÉΓòÉ 8.7.1. Font ΓòÉΓòÉΓòÉ
  1312.  
  1313. Allows you to select from a list of font sizes. The sizes depend on the display 
  1314. adapter and version of OS/2 your are using. Pmcomm queries the video device 
  1315. driver to see what font sizes it supports and lists them for you to select. 
  1316.  
  1317.  
  1318. ΓòÉΓòÉΓòÉ 8.7.2. Foreground ΓòÉΓòÉΓòÉ
  1319.  
  1320. Sets up the color to be used for the text used in the Pmcomm window. There are 
  1321. 16 different background and foreground colors available, allowing for 256 
  1322. different color combinations. 
  1323.  
  1324.  
  1325. ΓòÉΓòÉΓòÉ 8.7.3. Background ΓòÉΓòÉΓòÉ
  1326.  
  1327. Sets up the color to be used for the Pmcomm window background. There are 16 
  1328. different background and foreground colors available, allowing for 256 
  1329. different color combinations. 
  1330.  
  1331.  
  1332. ΓòÉΓòÉΓòÉ 8.7.4. Hide Window While Dialing ΓòÉΓòÉΓòÉ
  1333.  
  1334. The hide window while dialing option will make the screen less "busy" while 
  1335. dialing. 
  1336.  
  1337.  
  1338. ΓòÉΓòÉΓòÉ 8.7.5. Hide Window During a File Transfer ΓòÉΓòÉΓòÉ
  1339.  
  1340. The hide window during a file transfer option will make the screen less "busy" 
  1341. while executing a file transfer. 
  1342.  
  1343.  
  1344. ΓòÉΓòÉΓòÉ 8.7.6. Automatic Vertical Scroll ΓòÉΓòÉΓòÉ
  1345.  
  1346. The Automatic vertical scroll option will make Pmcomm keep the cursor 
  1347. vertically in the Pmcomm window. 
  1348.  
  1349.  
  1350. ΓòÉΓòÉΓòÉ 8.7.7. Automatic Horizontal Scroll ΓòÉΓòÉΓòÉ
  1351.  
  1352. The Automatic horizontal scroll option will keep the cursor horizontally in the 
  1353. Pmcomm window. 
  1354.  
  1355.  
  1356. ΓòÉΓòÉΓòÉ 8.7.8. Retain Dialing Dialog's Position ΓòÉΓòÉΓòÉ
  1357.  
  1358. The retain dialing dialog's position option will make Pmcomm restore the last 
  1359. position of the dialing dialog each time it is invoked. If this option is not 
  1360. selected then OS/2 will decide where to place the dialog boxes. 
  1361.  
  1362.  
  1363. ΓòÉΓòÉΓòÉ 8.7.9. Retain Transfer Dialog's Position ΓòÉΓòÉΓòÉ
  1364.  
  1365. The retain transfer dialog's position option will make Pmcomm restore the last 
  1366. position of the transfer dialog each time it is invoked. If this option is not 
  1367. selected then OS/2 will decide where to place the dialog boxes. 
  1368.  
  1369.  
  1370. ΓòÉΓòÉΓòÉ 8.7.10. Show Dial Message Box ΓòÉΓòÉΓòÉ
  1371.  
  1372. The Show Dial Message Box option makes Pmcomm display a message box and beeps 
  1373. at the user, when Pmcomm obtains a remote connection, until the OK button is 
  1374. pressed. This will make sure you notice that Pmcomm has a remote connection. 
  1375.  
  1376.  
  1377. ΓòÉΓòÉΓòÉ 8.7.11. Local Echo On ΓòÉΓòÉΓòÉ
  1378.  
  1379. The local echo on option will make Pmcomm echo all keystrokes to the local 
  1380. screen as well as to the remote computer. 
  1381.  
  1382.  
  1383. ΓòÉΓòÉΓòÉ 8.7.12. Turn Sound On ΓòÉΓòÉΓòÉ
  1384.  
  1385. The turn sound on option will make Pmcomm alert the user when certain functions 
  1386. have been completed. The sound must also be turned on in OS/2 for this option 
  1387. to work. This can be done through the control panel. 
  1388.  
  1389.  
  1390. ΓòÉΓòÉΓòÉ 8.8. Status Line ΓòÉΓòÉΓòÉ
  1391.  
  1392. This option will activate Pmcomm's Status Line. The Status Line allows you, at 
  1393. a glance, to view which options are currently running. 
  1394.  
  1395. Phone Icon 
  1396.  
  1397. There are many options that can be accessed by the Phone Icon. If the telephone 
  1398. is on-hook (hung up) and you click on the icon, Pmcomm will dial any numbers 
  1399. that you have selected in the dialing directory. If there aren't any numbers 
  1400. selected, Pmcomm will "pop" up the dialing directory. 
  1401.  
  1402. If you select a dialing directory in File Manager and hold down the right mouse 
  1403. button you can drag the dialing directory to the phone icon. Once the button is 
  1404. released over the phone icon, Pmcomm will dial any selected numbers. If there 
  1405. aren't any numbers selected, Pmcomm will "pop" up the dialing directory. 
  1406.  
  1407. Once online the phone icon will be taken off-hook. If the phone is off-hook and 
  1408. you click on the icon Pmcomm will hang-up. If Monitor DCD is turned off and you 
  1409. click on the icon, Pmcomm will dial any selected numbers in the dialing 
  1410. directory. If there aren't any numbers selected, Pmcomm will "pop" up the 
  1411. dialing directory. 
  1412.  
  1413. If Monitor DCD is turned off the telephone will appear with a question mark 
  1414. imposed over the top of it. 
  1415.  
  1416. Disk Drive Icon 
  1417.  
  1418. The Disk Drive Icon allows a quick and easy way to turn the Capture option on 
  1419. and off. If the disk drive icon light is green and you click on the icon Pmcomm 
  1420. will will then prompt you for the filename of the capture file. If the disk 
  1421. drive icon light is red Pmcomm is already executing the Capture command. If you 
  1422. click on the icon while the disk drive icon light is red, Pmcomm will cancel 
  1423. the Capture command. 
  1424.  
  1425. Log Icon 
  1426.  
  1427. By clicking on the log icon, Pmcomm will turn logging on. When logging is on, 
  1428. the log will appear with logging equipment (cross-cut saw and an axe), if you 
  1429. click on this icon Pmcomm will turning logging off. 
  1430.  
  1431. Printer Icon 
  1432.  
  1433. By clicking on the Printer Icon you can print any selected text. If there isn't 
  1434. any selected text, Pmcomm will execute the Print Continuous command. Clicking 
  1435. on the icon again will turn the Print Continuous command off. 
  1436.  
  1437. Generator Icon 
  1438.  
  1439. Clicking on the Generator Icon will turn on the Script Generator. Pmcomm will 
  1440. then prompt you for a filename for the script. If you click on the icon again, 
  1441. Pmcomm will turn off the Script Generator. The Generator Icon will have 
  1442. lightning bolts about it when a script is being generated. 
  1443.  
  1444. Book Icon 
  1445.  
  1446. Clicking on the the Book Icon will execute a script. If Pmcomm is executing a 
  1447. script, clicking on the icon will cancel the script. You can also use the drag 
  1448. and drop feature of Pmcomm to select any executable file (extensions .exe, .cmd 
  1449. and .scr) from the File Manager and executing that file by dragging and 
  1450. dropping the file on the Book Icon. 
  1451.  
  1452. Com Port Statistics 
  1453.  
  1454. This line in the Status Line shows which com port you are using, the baud rate, 
  1455. data bits, parity, and stop bits that Pmcomm is currently using. Clicking on 
  1456. this line with a mouse will "pop" up the port setup dialog box. 
  1457.  
  1458. Elapsed Timer 
  1459.  
  1460. The Status Line also has an elapsed timer that starts as soon as you are 
  1461. connected to another computer. The timer displays the elapsed time in hours and 
  1462. minutes. You may also set two warning levels. The first will change the connect 
  1463. time to yellow and the second level will turn the connect time red. These 
  1464. warning levels are useful to keep track of how of the time you are connected to 
  1465. a remote computer. The elapsed timer will only be displayed if Monitor DCD is 
  1466. turned on. If Monitor DCD is turned off the time of day will be displayed. 
  1467. Clicking on this line will toggle between the time of day and the connect time. 
  1468. The of day will be displayed as default. 
  1469.  
  1470.  
  1471. ΓòÉΓòÉΓòÉ 8.8.1. Show Status Line ΓòÉΓòÉΓòÉ
  1472.  
  1473. The "Show status line" option will display Pmcomm's Status Line at the bottom 
  1474. of the Pmcomm window. For more information see Status_Line. 
  1475.  
  1476.  
  1477. ΓòÉΓòÉΓòÉ 8.8.2. Connect time for first warning ΓòÉΓòÉΓòÉ
  1478.  
  1479. After the amount of time specified in this option expires, Pmcomm will turn the 
  1480. connect time yellow. The time must be specified in the hh:mm format. 
  1481.  
  1482.  
  1483. ΓòÉΓòÉΓòÉ 8.8.3. Connect time for second warning ΓòÉΓòÉΓòÉ
  1484.  
  1485. After the amount of time specified in this option expires, Pmcomm will turn the 
  1486. connect time red. The time must be specified in the hh:mm format. 
  1487.  
  1488.  
  1489. ΓòÉΓòÉΓòÉ 8.9. Terminal ΓòÉΓòÉΓòÉ
  1490.  
  1491. Terminal allows you to select which emulation you wish to use. There are also 
  1492. some options for the different emulations. 
  1493.  
  1494.  
  1495. ΓòÉΓòÉΓòÉ 8.9.1. TTY emulation ΓòÉΓòÉΓòÉ
  1496.  
  1497. The TTY emulation makes Pmcomm act as a teletype device. Generally this is the 
  1498. least used emulation, however, it is also the fastest. The reason for this is 
  1499. that there are very few special commands that Pmcomm has to process. None of 
  1500. the special ANSI control codes are processed. 
  1501.  
  1502.  
  1503. ΓòÉΓòÉΓòÉ 8.9.2. ANSI emulation ΓòÉΓòÉΓòÉ
  1504.  
  1505. The ANSI emulation is probably the most used. It will execute the special ANSI 
  1506. screen control commands. This allows the remote program to be able to clear the 
  1507. screen, position the cursor and change the colors. There are other screen 
  1508. control commands but these are the most commonly used ones. There are also 
  1509. options to have Pmcomm ignore the ANSI color changes so that you can use the 
  1510. colors you want, instead of the ones the remote computer uses, and to send the 
  1511. ANSI cursor position commands with the arrow keys. When using the ANSI 
  1512. emulation you can also have Pmcomm strip off the ANSI commands before saving 
  1513. the information into a capture file. This will make the capture file much more 
  1514. readable. You can also change the length of the page, to correspond to the size 
  1515. of your screen. The default for the ANSI page length is 25 lines, and under 
  1516. most cases should be left there. 
  1517.  
  1518.  
  1519. ΓòÉΓòÉΓòÉ 8.9.3. VT100 and VT220 emulation ΓòÉΓòÉΓòÉ
  1520.  
  1521. In VT100 and VT220 emulation, some keys have been changed to try to more 
  1522. closely emulate the VT100 keyboard. F1-F4 are now the PF keys. Because of this 
  1523. the F1 key will not display the normal help and F3 will not exit the program. 
  1524. The PF keys will send the following characters: 
  1525.  
  1526.    F1 = ESCOP 
  1527.  
  1528.    F2 = ESCOQ 
  1529.  
  1530.    F3 = ESCOR 
  1531.  
  1532.    F4 = ESCOS 
  1533.  
  1534.  Where ESC is equal to the ASCII character hex 1B. All other hot keys will not 
  1535.  be available. When the num lock key is off, the numerical key pad will be in 
  1536.  the application mode. If you are connecting to a VT220 Host you can use these 
  1537.  keys to send the VT220 PF key values. For example pressing the 1 on the 
  1538.  numeric key pad will send the VT220 PF1 key. Pressing the 3 on the numeric key 
  1539.  pad will send the VT220 PF3 key, and so on. With the num lock on the numbers 
  1540.  will be sent. The plus key has been re-mapped to be a comma, again to be 
  1541.  compatible with the VT100 keyboard. In most cases it is best to tell the host 
  1542.  that you are a VT220 terminal. The VT100 emulation of Pmcomm supports most of 
  1543.  the VT220 commands, and will allow you to use the extra support that VT220 
  1544.  allows. If you tell the host that you are a VT220 terminal, for example, you 
  1545.  will be able to use the Ctrl-R for reset and the Ctrl-C for clear. These are 
  1546.  just a couple of examples of the additional benefit that you can get from 
  1547.  VT220. 
  1548.  
  1549.  The send DEL for backspace option is the default for many VT100 keyboards. 
  1550.  When this is selected, Pmcomm will send a hex 7f character instead of the 
  1551.  backspace character. You can still send a backspace character by pressing 
  1552.  Ctrl-Backspace. This allows you to have both these characters available at one 
  1553.  time. 
  1554.  
  1555.  The translate CR/LF for LF option will act as if it received a carriage return 
  1556.  and a line feed, each time it receives a line feed. 
  1557.  
  1558.  The line wrap option will make Pmcomm wrap the line if the line is longer than 
  1559.  the page width. If this option is off the line will be truncated. 
  1560.  
  1561.  The Insert mode option will allow you to insert characters into the middle of 
  1562.  a line and the rest of the line will be shifted to the right to allow room for 
  1563.  the new characters. 
  1564.  
  1565.  The cursor visible option determines if the cursor will be shown on the screen 
  1566.  or not. 
  1567.  
  1568.  The Screen origin relative option determines if Pmcomm will keep everything on 
  1569.  a 25 line screen or allow it to use the scroll back buffer. In most cases this 
  1570.  option should be selected. 
  1571.  
  1572.  The last two options are to set the width of the screen. Either 80 or 132 
  1573.  columns are supported. 
  1574.  
  1575.  Most of these options can be changed from the host. The default setup should 
  1576.  work for most applications, and the host can change the options to meet 
  1577.  different needs. 
  1578.  
  1579.  
  1580. ΓòÉΓòÉΓòÉ 8.10. Chat ΓòÉΓòÉΓòÉ
  1581.  
  1582. This sets up Pmcomm to "chat" when connected to another computer that is also 
  1583. running Pmcomm. This mode automatically sets Pmcomm to echo characters locally 
  1584. and to send a carriage return line feed combination when the enter key is 
  1585. pressed. 
  1586.  
  1587.  
  1588. ΓòÉΓòÉΓòÉ 9. Macros ΓòÉΓòÉΓòÉ
  1589.  
  1590. Allows you to pick, with a mouse, the macro you wish to send. Can also be 
  1591. selected with an Alt+corresponding number keystroke. Pmcomm allows you to set 
  1592. up ten different macros. Scripts can be executed from macros by using the shell 
  1593. command. An example of this would be: 
  1594.  
  1595. shell("c:\pmcomm\plane.cmd"); 
  1596.  
  1597. This would execute the REXX script called plane.cmd. This allows you a quick 
  1598. and easy way to execute your most popular scripts. 
  1599.  
  1600.  
  1601. ΓòÉΓòÉΓòÉ 10. Script Syntax ΓòÉΓòÉΓòÉ
  1602.  
  1603. Both, internal and REXX, syntaxes are described in this section. 
  1604.  
  1605.  
  1606. ΓòÉΓòÉΓòÉ 10.1. REXX Functions ΓòÉΓòÉΓòÉ
  1607.  
  1608. This describes the function calls that are available in the rxpmcomm.dll. 
  1609. Before using any of these calls you must include these lines in your REXX 
  1610. program: 
  1611.  
  1612.  Call RxFuncadd " init_dll ","RxPmcomm","init_dll" 
  1613.  
  1614.  Parse arg port portname screen_handle dde_output dde_input semaphore 
  1615.  
  1616.  Call init_dll 
  1617.  
  1618.  The rxpmcomm.dll must reside in a directory listed in your LIBPATH statement 
  1619.  in config.sys. One of the default directories is \os2\dll. These functions are 
  1620.  designed to make it easier to preform tasks necessary when writing scripts for 
  1621.  asynch communications. To invoke a REXX program from a script, use the shell( 
  1622.  ) function in the script. The format of the shell function is as follows: 
  1623.  
  1624.  shell("\path\filename.cmd"); 
  1625.  where filename.cmd is your REXX program. These functions have been tested with 
  1626.  the REXX that comes with OS/2 1.2 EE, but should work with any totally 
  1627.  function compatible REXX. There are some sample REXX programs included. 
  1628.  
  1629.  
  1630. ΓòÉΓòÉΓòÉ 10.1.1. init_dll ΓòÉΓòÉΓòÉ
  1631.  
  1632. The init_dll function will register the functions in the rxpmcomm.dll, with 
  1633. REXX. This function must be called before any other rxpmcomm.dll function is 
  1634. called. The RxFuncadd must be called before init_dll to register this function 
  1635. with REXX. 
  1636.  
  1637.  
  1638. ΓòÉΓòÉΓòÉ 10.1.2. os2_shell ΓòÉΓòÉΓòÉ
  1639.  
  1640.  os2_shell port,port 
  1641.  
  1642.  Example 
  1643.  
  1644.  Call os2_shell port,port 
  1645.  
  1646.  Description 
  1647.  
  1648.  This command will allow a caller to shell to OS/2, remotely. The first 
  1649.  parameter is the input handle and the second is the output handle. In the 
  1650.  example above, the command will receive and send the information to the com 
  1651.  port. 
  1652.  
  1653.  Returns 
  1654.  
  1655.  1 if successful and 0 if unsuccessful. 
  1656.  
  1657.  
  1658. ΓòÉΓòÉΓòÉ 10.1.3. set_download_path ΓòÉΓòÉΓòÉ
  1659.  
  1660.  set_download_path directory,dde_output 
  1661.  
  1662.  Example 
  1663.  
  1664.  Call set_download_path "c:\pmcomm",dde_output 
  1665.  
  1666.  Description 
  1667.  
  1668.  The above example will set the download path to c:\pmcomm. This will store all 
  1669.  of the files received in that directory. The dde_output, is the dde_output 
  1670.  value passed on the command line. 
  1671.  
  1672.  Returns 
  1673.  
  1674.  1 if successful and 0 if unsuccessful. 
  1675.  
  1676.  
  1677. ΓòÉΓòÉΓòÉ 10.1.4. setcom ΓòÉΓòÉΓòÉ
  1678.  
  1679.  setcom baud,parity,data_bit,stop_bits,port 
  1680.  
  1681.  Example 
  1682.  
  1683.  Call setcom "2400","N","8","1",port 
  1684.  
  1685.  Description 
  1686.  
  1687.  This would set the com port to 2400 baud, no parity, 8 data bits, 1 stop bit. 
  1688.  Baud can be from 300 to 19200 with the standard OS/2 device driver. Parity can 
  1689.  be N(none), O(odd), E(even), M(marked), or S(spaced). Data bits can be 5, 6, 7 
  1690.  or 8. Stop bits can be 1 or 2 (2 can only be used with 5 data bits). If a 
  1691.  parameter is an empty string (i.e. setcom "","E","7","1",port) this leaves the 
  1692.  baud at the current rate but set the line characteristics to 7, Even, 1. 
  1693.  
  1694.  Returns 
  1695.  
  1696.  1 if successful and 0 if unsuccessful. 
  1697.  
  1698.  
  1699. ΓòÉΓòÉΓòÉ 10.1.5. sendb ΓòÉΓòÉΓòÉ
  1700.  
  1701.  sendb length,port 
  1702.  
  1703.  Example 
  1704.  
  1705.  Call sendb "300",port 
  1706.  
  1707.  Description 
  1708.  
  1709.  This call sends a break signal a certain time in milliseconds. The above 
  1710.  example would send a break signal for 300 milliseconds. This call is mostly 
  1711.  used to establish direct connects (not using a modem). Three hundred 
  1712.  milliseconds should be okay for most situations. 
  1713.  
  1714.  Returns 
  1715.  
  1716.  1 if successful and 0 if unsuccessful. 
  1717.  
  1718.  
  1719. ΓòÉΓòÉΓòÉ 10.1.6. dcd ΓòÉΓòÉΓòÉ
  1720.  
  1721.  dcd port 
  1722.  
  1723.  Example 
  1724.  
  1725.  Call dcd port 
  1726.  
  1727.  Description 
  1728.  
  1729.  This call checks to see if there is a carrier detected on the modem. You can 
  1730.  use this to see if Pmcomm is still online to a remote computer. For this 
  1731.  information to be correct the modem must support dcd and the modem must be 
  1732.  configured to support dcd. To find the command refer to your owner's manual. 
  1733.  
  1734.  Returns 
  1735.  
  1736.  1 if carrier detected and 0 if no carrier. 
  1737.  
  1738.  
  1739. ΓòÉΓòÉΓòÉ 10.1.7. char_avail ΓòÉΓòÉΓòÉ
  1740.  
  1741.  char_avail port 
  1742.  
  1743.  Example 
  1744.  
  1745.  Call char_avail port 
  1746.  
  1747.  Description 
  1748.  
  1749.  This call checks to see how many characters are available in the device 
  1750.  driver's receive buffer. You can use this function to check to see if the 
  1751.  device driver has received any characters from the com port. 
  1752.  
  1753.  Returns 
  1754.  
  1755.  Number of characters in device driver receive queue. 
  1756.  
  1757.  
  1758. ΓòÉΓòÉΓòÉ 10.1.8. read_timeout ΓòÉΓòÉΓòÉ
  1759.  
  1760.  read_timeout timeout,port 
  1761.  
  1762.  Example 
  1763.  
  1764.  Call read_timeout 20000,port 
  1765.  
  1766.  Description 
  1767.  
  1768.  This call sets the length of time (in milliseconds) that wait_for, wait_fore, 
  1769.  Get_ch will wait for a character from the com port. The above example will 
  1770.  make the functions wait for 20 seconds. 
  1771.  
  1772.  Returns 
  1773.  
  1774.  1 if successful and 0 if unsuccessful. 
  1775.  
  1776.  
  1777. ΓòÉΓòÉΓòÉ 10.1.9. Get_ch ΓòÉΓòÉΓòÉ
  1778.  
  1779.  Get_ch port 
  1780.  
  1781.  Example 
  1782.  
  1783.  Call Get_ch port 
  1784.  
  1785.  Description 
  1786.  
  1787.  This call will get a character from the com port. If no character is available 
  1788.  by the time set with read_timeout the function will return with a value of -1. 
  1789.  Otherwise the function will return with the character read. 
  1790.  
  1791.  Returns 
  1792.  
  1793.  char value if successful and -1 if unsuccessful. 
  1794.  
  1795.  
  1796. ΓòÉΓòÉΓòÉ 10.1.10. ring_detect ΓòÉΓòÉΓòÉ
  1797.  
  1798.  ring_detect port 
  1799.  
  1800.  Example 
  1801.  
  1802.  Call ring_detect port 
  1803.  
  1804.  Description 
  1805.  
  1806.  This call can be used to inform a program if the phone is ringing. 
  1807.  
  1808.  Returns 
  1809.  
  1810.  1 if ring detected, 0 if no ring, and 2 if invalid number of parameters. 
  1811.  
  1812.  
  1813. ΓòÉΓòÉΓòÉ 10.1.11. drop_dtr ΓòÉΓòÉΓòÉ
  1814.  
  1815.  drop_dtr port 
  1816.  
  1817.  Example 
  1818.  
  1819.  Call drop_dtr port 
  1820.  
  1821.  Description 
  1822.  
  1823.  This call is usually used to make a modem hang up. The modem must be 
  1824.  configured to allow this. To find the command for your modem, check your 
  1825.  owner's manual. Dtr needs to be dropped for about 2-3 seconds to make sure the 
  1826.  modem sees the drop in DTR. After that length of time raise_dtr can be called 
  1827.  to bring DTR back up. On a Hayes 2400 the above command will also keep the 
  1828.  modem from doing an auto answer until you raise_dtr again. 
  1829.  
  1830.  Returns 
  1831.  
  1832.  1 if successful and 0 if unsuccessful. 
  1833.  
  1834.  
  1835. ΓòÉΓòÉΓòÉ 10.1.12. raise_dtr ΓòÉΓòÉΓòÉ
  1836.  
  1837.  raise_dtr port 
  1838.  
  1839.  Example 
  1840.  
  1841.  Call raise_dtr port 
  1842.  
  1843.  Description This call is usually used after drop_dtr to allow the modem to 
  1844.  process commands and enable it to answer the phone. 
  1845.  
  1846.  Returns 
  1847.  
  1848.  1 if successful and 0 if unsuccessful. 
  1849.  
  1850.  
  1851. ΓòÉΓòÉΓòÉ 10.1.13. Wait_for (REXX) ΓòÉΓòÉΓòÉ
  1852.  
  1853.  Wait_for string,string,string...,port 
  1854.  
  1855.  Example 
  1856.  
  1857.  Call Wait_for "first name?","last name?",port 
  1858.  
  1859.  Description 
  1860.  
  1861.  The above example would wait for either first name?, or last name?, from the 
  1862.  com port. The function will return the index of the  string that matched. For 
  1863.  example if the Wait_for received last name?, then the result would be 2. You 
  1864.  can specify any number of strings depending on memory available. 
  1865.  
  1866.  Returns 
  1867.  
  1868.  Index of matched string or zero if timeout or error. 
  1869.  
  1870.  
  1871. ΓòÉΓòÉΓòÉ 10.1.14. Wait_fore ΓòÉΓòÉΓòÉ
  1872.  
  1873.  Wait_fore string,string,string...,port,screen_handle 
  1874.  
  1875.  Example 
  1876.  
  1877.  Call Wait_fore "first name?","last name?",port,screen_handle 
  1878.  
  1879.  Call Wait_fore "first name?",port,1 
  1880.  
  1881.  Call Wait_fore "first name?","raw",port,1 
  1882.  
  1883.  Description 
  1884.  
  1885.  The first example would wait for either first name?, or last name?, from the 
  1886.  com port and echo the out_put to the Pmcomm screen. The second example would 
  1887.  do the same except it would write the out put to StdOut(value 1) which would 
  1888.  be the REXX screen. The third example would look for an exact match coming 
  1889.  accross the com port, including any ANSI sequences. 
  1890.  
  1891.  Returns 
  1892.  
  1893.  Index of matched string or zero if timeout or error. 
  1894.  
  1895.  
  1896. ΓòÉΓòÉΓòÉ 10.1.15. Put_s ΓòÉΓòÉΓòÉ
  1897.  
  1898.  Put_s string,port 
  1899.  
  1900.  Example 
  1901.  
  1902.  Call Put_s "first name",port 
  1903.  
  1904.  Description 
  1905.  
  1906.  This call will send string out to port. In the above example first name will 
  1907.  be sent to the com port. If port is not specified then 'string' will be sent 
  1908.  to the REXX screen. If screen_handle is specified instead of port then the 
  1909.  string will be sent to the Pmcomm screen. 
  1910.  
  1911.  Returns 
  1912.  
  1913.  Length of string actually written. 
  1914.  
  1915.  
  1916. ΓòÉΓòÉΓòÉ 10.1.16. Sleep (REXX) ΓòÉΓòÉΓòÉ
  1917.  
  1918.  Sleep time 
  1919.  
  1920.  Example 
  1921.  
  1922.  Call Sleep "1000" 
  1923.  
  1924.  Description 
  1925.  
  1926.  This call will delay the program for the amount of milliseconds specified. The 
  1927.  above example will delay the computer for one second. 
  1928.  
  1929.  Returns 
  1930.  
  1931.  Unconditionally 0. 
  1932.  
  1933.  
  1934. ΓòÉΓòÉΓòÉ 10.1.17. beep ΓòÉΓòÉΓòÉ
  1935.  
  1936.  beep frequency,duration 
  1937.  
  1938.  Example 
  1939.  
  1940.  Call beep 495,100 
  1941.  
  1942.  Description 
  1943.  
  1944.  The above example will beep the speaker. 
  1945.  
  1946.  Returns 
  1947.  
  1948.  1 if successful and 0 if unsuccessful. 
  1949.  
  1950.  
  1951. ΓòÉΓòÉΓòÉ 10.1.18. get_cursor_position ΓòÉΓòÉΓòÉ
  1952.  
  1953.  get_cursor_position axis,dde_output,dde_input 
  1954.  
  1955.  Example 
  1956.  
  1957.  Call get_cursor_position "column",dde_output,dde_input 
  1958.  
  1959.  Description 
  1960.  
  1961.  The above will return the column that the cursor is in. To get the current 
  1962.  row, you would issue this call with "row" instead of "column". The row value 
  1963.  that is returned is relative to the top of the scroll back buffer. The top row 
  1964.  of the scroll back buffer and the first column would be 0,0. 
  1965.  
  1966.  Returns 
  1967.  
  1968.  Cursor position. 
  1969.  
  1970.  
  1971. ΓòÉΓòÉΓòÉ 10.1.19. get_char_at ΓòÉΓòÉΓòÉ
  1972.  
  1973.  get_char_at row,column,number,dde_output,dde_input 
  1974.  
  1975.  Example 
  1976.  
  1977.  Call get_char_at 0,0,80,dde_output,dde_input 
  1978.  
  1979.  Description 
  1980.  
  1981.  The above will return the characters at the first line of the scroll back 
  1982.  buffer. It will return 80 characters, even if the characters are spaces. The 
  1983.  maximum number of characters that can be returned at one time is 200. 
  1984.  
  1985.  Returns 
  1986.  
  1987.  Character(s) at the specified row and column. 
  1988.  
  1989.  
  1990. ΓòÉΓòÉΓòÉ 10.1.20. REXX capture_on ΓòÉΓòÉΓòÉ
  1991.  
  1992.  capture_on filename,dde_output,dde_input 
  1993.  
  1994.  Example 
  1995.  
  1996.  Call capture_on "c:\pmcomm\cap.txt", dde_output, dde_input 
  1997.  
  1998.  Description 
  1999.  
  2000.  The above will turn capture on so that everything will be saved into a file. 
  2001.  If you have strip ANSI configured in Pmcomm then the text only will be saved 
  2002.  in ANSI, VT100, and VT220 terminal emulations. If the file already exists it 
  2003.  will be overwritten. 
  2004.  
  2005.  Returns 
  2006.  
  2007.  1 if successful and 0 if not. 
  2008.  
  2009.  
  2010. ΓòÉΓòÉΓòÉ 10.1.21. REXX capture_off ΓòÉΓòÉΓòÉ
  2011.  
  2012.  capture_off dde_output,dde_input 
  2013.  
  2014.  Example 
  2015.  
  2016.  Call capture_off dde_output,dde_input 
  2017.  
  2018.  Description 
  2019.  
  2020.  The above will turn capture off. The capture may have been started from a 
  2021.  script or from the menu. 
  2022.  
  2023.  Returns 
  2024.  
  2025.  1 if successful and 0 if not. 
  2026.  
  2027.  
  2028. ΓòÉΓòÉΓòÉ 10.1.22. xmodem_send ΓòÉΓòÉΓòÉ
  2029.  
  2030.  xmodem_send filename,dde_output,dde_input 
  2031.  
  2032.  Example 
  2033.  
  2034.  Call xmodem_send "filename.ext",dde_output,dde_input 
  2035.  
  2036.  Description 
  2037.  
  2038.  This call will invoke the Xmodem_CRC send routine, built into Pmcomm. Once 
  2039.  issued the call will not return until the transfer either finishes or is 
  2040.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2041.  uploading from the menu. 
  2042.  
  2043.  Returns 
  2044.  
  2045.  1 if call is successful and 0 if unsuccessful. 
  2046.  
  2047.  
  2048. ΓòÉΓòÉΓòÉ 10.1.23. xmodem_receive ΓòÉΓòÉΓòÉ
  2049.  
  2050.  xmodem_receive filename,dde_output,dde_input 
  2051.  
  2052.  Example 
  2053.  
  2054.  Call xmodem_receive "filename.ext",dde_output,dde_input 
  2055.  
  2056.  Description 
  2057.  
  2058.  This call will invoke the Xmodem_CRC receive routine, built into Pmcomm. Once 
  2059.  issued the call will not return until the transfer either finishes or is 
  2060.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2061.  downloading from the menu. The file will be downloaded into the download 
  2062.  directory. The file name specified must not include a path. 
  2063.  
  2064.  Returns 
  2065.  
  2066.  1 if call is successful and 0 if unsuccessful. 
  2067.  
  2068.  
  2069. ΓòÉΓòÉΓòÉ 10.1.24. xmodem_chk_send ΓòÉΓòÉΓòÉ
  2070.  
  2071.  xmodem_chk_send filename,dde_output,dde_input 
  2072.  
  2073.  Example 
  2074.  
  2075.  Call xmodem_chk_send "filename.ext",dde_output,dde_input 
  2076.  
  2077.  Description 
  2078.  
  2079.  This call will invoke the Xmodem_Checksum send routine, built into Pmcomm. 
  2080.  Once issued the call will not return until the transfer either finishes or is 
  2081.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2082.  uploading from the menu. 
  2083.  
  2084.  Returns 
  2085.  
  2086.  1 if call is successful and 0 if unsuccessful. 
  2087.  
  2088.  
  2089. ΓòÉΓòÉΓòÉ 10.1.25. xmodem_chk_receive ΓòÉΓòÉΓòÉ
  2090.  
  2091.  xmodem_chk_receive filename,dde_output,dde_input 
  2092.  
  2093.  Example 
  2094.  
  2095.  Call xmodem_receive "filename.ext",dde_output,dde_input 
  2096.  
  2097.  Description 
  2098.  
  2099.  This call will invoke the Xmodem_Checksum receive routine, built into Pmcomm. 
  2100.  Once issued the call will not return until the transfer either finishes or is 
  2101.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2102.  downloading from the menu. The file will be downloaded into the download 
  2103.  directory. The file name specified must not include a path. 
  2104.  
  2105.  Returns 
  2106.  
  2107.  1 if call is successful and 0 if unsuccessful. 
  2108.  
  2109.  
  2110. ΓòÉΓòÉΓòÉ 10.1.26. xmodem_1k_send ΓòÉΓòÉΓòÉ
  2111.  
  2112.  xmodem_1k_send filename,dde_output,dde_input 
  2113.  
  2114.  Example 
  2115.  
  2116.  Call xmodem_1k_send "filename.ext",dde_output,dde_input 
  2117.  
  2118.  Description 
  2119.  
  2120.  This call will invoke the 1K-Xmodem send routine, built into Pmcomm. Once 
  2121.  issued the call will not return until the transfer either finishes or is 
  2122.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2123.  uploading from the menu. 
  2124.  
  2125.  Returns 
  2126.  
  2127.  1 if call is successful and 0 if unsuccessful. 
  2128.  
  2129.  
  2130. ΓòÉΓòÉΓòÉ 10.1.27. xmodem_1k_receive ΓòÉΓòÉΓòÉ
  2131.  
  2132.  xmodem_1k_receive filename,dde_output,dde_input 
  2133.  
  2134.  Example 
  2135.  
  2136.  Call xmodem_1k_receive "filename.ext",dde_output,dde_input 
  2137.  
  2138.  Description 
  2139.  
  2140.  This call will invoke the 1K-Xmodem receive routine, built into Pmcomm. Once 
  2141.  issued the call will not return until the transfer either finishes or is 
  2142.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2143.  downloading from the menu. The file will be downloaded into the download 
  2144.  directory. The file name specified must not include a path. 
  2145.  
  2146.  Returns 
  2147.  
  2148.  1 if call is successful and 0 if unsuccessful. 
  2149.  
  2150.  
  2151. ΓòÉΓòÉΓòÉ 10.1.28. ymodem_send ΓòÉΓòÉΓòÉ
  2152.  
  2153.  ymodem_send filename,dde_output,dde_input 
  2154.  
  2155.  Example 
  2156.  
  2157.  Call ymodem_send "filename.ext",dde_output,dde_input 
  2158.  
  2159.  Description 
  2160.  
  2161.  This call will invoke the Ymodem send routine, built into Pmcomm. Once issued 
  2162.  the call will not return until the transfer either finishes or is aborted. 
  2163.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2164.  the menu. You may send multiple files by specifying more than file name. 
  2165.  
  2166.  Returns 
  2167.  
  2168.  Number of files transferred. 
  2169.  
  2170.  
  2171. ΓòÉΓòÉΓòÉ 10.1.29. ymodem_receive ΓòÉΓòÉΓòÉ
  2172.  
  2173.  ymodem_receive dde_output,dde_input 
  2174.  
  2175.  Example 
  2176.  
  2177.  Call ymodem_receive dde_output,dde_input 
  2178.  
  2179.  Description 
  2180.  
  2181.  This call will invoke the Ymodem receive routine, built into Pmcomm. Once 
  2182.  issued the call will not return until the transfer either finishes or is 
  2183.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2184.  downloading from the menu. The file will be downloaded into the download 
  2185.  directory. This one call will receive multiple files. The filenames used are 
  2186.  the ones sent from the remote computer. 
  2187.  
  2188.  Returns 
  2189.  
  2190.  Number of files transferred. 
  2191.  
  2192.  
  2193. ΓòÉΓòÉΓòÉ 10.1.30. ymodemg_send ΓòÉΓòÉΓòÉ
  2194.  
  2195.  ymodemg_send filename,dde_output,dde_input 
  2196.  
  2197.  Example 
  2198.  
  2199.  Call ymodemg_send "filename.ext",dde_output,dde_input 
  2200.  
  2201.  Description 
  2202.  
  2203.  This call will invoke the Ymodem-g send routine, built into Pmcomm. Once 
  2204.  issued the call will not return until the transfer either finishes or is 
  2205.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2206.  uploading from the menu. You may send multiple files by specifying more than 
  2207.  file name. 
  2208.  
  2209.  Returns 
  2210.  
  2211.  Number of files transferred. 
  2212.  
  2213.  
  2214. ΓòÉΓòÉΓòÉ 10.1.31. ymodemg_receive ΓòÉΓòÉΓòÉ
  2215.  
  2216.  ymodemg_receive dde_output,dde_input 
  2217.  
  2218.  Example 
  2219.  
  2220.  Call ymodemg_receive dde_output,dde_input 
  2221.  
  2222.  Description 
  2223.  
  2224.  This call will invoke the Ymodem-g receive routine, built into Pmcomm. Once 
  2225.  issued the call will not return until the transfer either finishes or is 
  2226.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2227.  downloading from the menu. The file will be downloaded into the download 
  2228.  directory. This one call will receive multiple files. The filenames used are 
  2229.  the ones sent from the remote computer. 
  2230.  
  2231.  Returns 
  2232.  
  2233.  Number of files transferred. 
  2234.  
  2235.  
  2236. ΓòÉΓòÉΓòÉ 10.1.32. zmodem_send ΓòÉΓòÉΓòÉ
  2237.  
  2238.  zmodem_send filename,dde_output,dde_input 
  2239.  
  2240.  Example 
  2241.  
  2242.  Call zmodem_send "filename.ext",dde_output,dde_input 
  2243.  
  2244.  Description 
  2245.  
  2246.  This call will invoke the Zmodem send routine, built into Pmcomm. Once issued 
  2247.  the call will not return until the transfer either finishes or is aborted. 
  2248.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2249.  the menu. You may send multiple files by specifying more than file name. 
  2250.  
  2251.  Returns 
  2252.  
  2253.  Number of files transferred. 
  2254.  
  2255.  
  2256. ΓòÉΓòÉΓòÉ 10.1.33. zmodem_receive ΓòÉΓòÉΓòÉ
  2257.  
  2258.  zmodem_receive dde_output,dde_input 
  2259.  
  2260.  Example 
  2261.  
  2262.  Call zmodem_receive dde_output,dde_input 
  2263.  
  2264.  Description 
  2265.  
  2266.  This call will invoke the Zmodem receive routine, built into Pmcomm. Once 
  2267.  issued the call will not return until the transfer either finishes or is 
  2268.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2269.  downloading from the menu. The file will be downloaded into the download 
  2270.  directory. This one call will receive multiple files. The filenames used are 
  2271.  the ones sent from the remote computer. 
  2272.  
  2273.  Returns 
  2274.  
  2275.  Number of files transferred. 
  2276.  
  2277.  
  2278. ΓòÉΓòÉΓòÉ 10.1.34. kermit_send ΓòÉΓòÉΓòÉ
  2279.  
  2280.  kermit_send filename,dde_output,dde_input 
  2281.  
  2282.  Example 
  2283.  
  2284.  Call kermit_send "filename.ext",dde_output,dde_input 
  2285.  
  2286.  Description 
  2287.  
  2288.  This call will invoke the Kermit send routine, built into Pmcomm. Once issued 
  2289.  the call will not return until the transfer either finishes or is aborted. 
  2290.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2291.  the menu. You may send multiple files by specifying more than file name. 
  2292.  
  2293.  Returns 
  2294.  
  2295.  Number of files transferred. 
  2296.  
  2297.  
  2298. ΓòÉΓòÉΓòÉ 10.1.35. kermit_receive ΓòÉΓòÉΓòÉ
  2299.  
  2300.  kermit_receive dde_output,dde_input 
  2301.  
  2302.  Example 
  2303.  
  2304.  Call kermit_receive dde_output,dde_input 
  2305.  
  2306.  Description 
  2307.  
  2308.  This call will invoke the Kermit receive routine, built into Pmcomm. Once 
  2309.  issued the call will not return until the transfer either finishes or is 
  2310.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2311.  downloading from the menu. The file will be downloaded into the download 
  2312.  directory. This one call will receive multiple files. The filenames used are 
  2313.  the ones sent from the remote computer. 
  2314.  
  2315.  Returns 
  2316.  
  2317.  Number of files transferred. 
  2318.  
  2319.  
  2320. ΓòÉΓòÉΓòÉ 10.1.36. ascii_send ΓòÉΓòÉΓòÉ
  2321.  
  2322.  ascii_send filename,dde_output,dde_input 
  2323.  
  2324.  Example 
  2325.  
  2326.  Call ascii_send "filename.ext",dde_output,dde_input 
  2327.  
  2328.  Description 
  2329.  
  2330.  This call will invoke the ASCII send routine, built into Pmcomm. Once issued 
  2331.  the call will not return until the transfer either finishes or is aborted. 
  2332.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2333.  the menu. 
  2334.  
  2335.  Returns 
  2336.  
  2337.  1 if call is successful and 0 if unsuccessful. 
  2338.  
  2339.  
  2340. ΓòÉΓòÉΓòÉ 10.1.37. ascii_receive ΓòÉΓòÉΓòÉ
  2341.  
  2342.  ascii_receive filename,dde_output,dde_input 
  2343.  
  2344.  Example 
  2345.  
  2346.  Call ascii_receive "filename.ext",dde_output,dde_input 
  2347.  
  2348.  Description 
  2349.  
  2350.  This call will invoke the ASCII receive routine, built into Pmcomm. Once 
  2351.  issued the call will not return until the transfer either finishes or is 
  2352.  aborted. Pmcomm will show the normal transfer dialog that it does when 
  2353.  downloading from the menu. The file will be downloaded into the download 
  2354.  directory. The file name specified must not include a path. 
  2355.  
  2356.  Returns 
  2357.  
  2358.  1 if call is successful and 0 if unsuccessful. 
  2359.  
  2360.  
  2361. ΓòÉΓòÉΓòÉ 10.1.38. cisb_send ΓòÉΓòÉΓòÉ
  2362.  
  2363.  cisb_send filename,dde_output,dde_input 
  2364.  
  2365.  Example 
  2366.  
  2367.  Call cisb_send "filename.ext",dde_output,dde_input 
  2368.  
  2369.  Description 
  2370.  
  2371.  This call will invoke the CISB send routine, built into Pmcomm. Once issued 
  2372.  the call will not return until the transfer either finishes or is aborted. 
  2373.  Pmcomm will show the normal transfer dialog that it does when uploading from 
  2374.  the menu. 
  2375.  
  2376.  Returns 
  2377.  
  2378.  1 if call is successful and 0 if unsuccessful. 
  2379.  
  2380.  
  2381. ΓòÉΓòÉΓòÉ 10.1.39. cisb_receive ΓòÉΓòÉΓòÉ
  2382.  
  2383.  cisb_receive filename,dde_output,dde_input 
  2384.  
  2385.  Example 
  2386.  
  2387.  Call cisb_receive "filename.ext",dde_output,dde_input 
  2388.  
  2389.  Description 
  2390.  
  2391.  This call will invoke the CISB receive routine, built into Pmcomm. Once issued 
  2392.  the call will not return until the transfer either finishes or is aborted. 
  2393.  Pmcomm will show the normal transfer dialog that it does when downloading from 
  2394.  the menu. The file will be downloaded into the download directory. The file 
  2395.  name specified must not include a path. 
  2396.  
  2397.  Returns 
  2398.  
  2399.  1 if call is successful and 0 if unsuccessful. 
  2400.  
  2401.  
  2402. ΓòÉΓòÉΓòÉ 10.2. Internal Functions ΓòÉΓòÉΓòÉ
  2403.  
  2404. These are script functions that are built into Pmcomm. 
  2405.  
  2406.  
  2407. ΓòÉΓòÉΓòÉ 10.2.1. wait_for (internal) ΓòÉΓòÉΓòÉ
  2408.  
  2409.  wait_for("string"); 
  2410.  
  2411.  This will wait until the word 'string' is received. One use of this is when 
  2412.  logging onto a BBS you can have it wait until prompted for a first name. 
  2413.  
  2414.  
  2415. ΓòÉΓòÉΓòÉ 10.2.2. puts ΓòÉΓòÉΓòÉ
  2416.  
  2417.  puts("string"); 
  2418.  
  2419.  This will send string to the comport. The 'C' language special character 
  2420.  '\r','\n','\b',and '\a' can also be used. 
  2421.  
  2422.  The \r means carriage return. 
  2423.  
  2424.  The \n means carriage return and line feed combination. 
  2425.  
  2426.  The \b means backspace. 
  2427.  
  2428.  The \a means alert (Pmcomm will beep). 
  2429.  
  2430.  
  2431. ΓòÉΓòÉΓòÉ 10.2.3. sleep (internal) ΓòÉΓòÉΓòÉ
  2432.  
  2433.  sleep(1000); 
  2434.  
  2435.  This will wait for the number of milliseconds specified. In this example it 
  2436.  would sleep for one second. 
  2437.  
  2438.  
  2439. ΓòÉΓòÉΓòÉ 10.2.4. call ΓòÉΓòÉΓòÉ
  2440.  
  2441.  call("filename"); 
  2442.  
  2443.  This allows you to nest scripts. If you put the name of the script that you 
  2444.  want to execute where it says filename, it will execute that script and then 
  2445.  continue. The limit on number of nested scripts is only by available stack 
  2446.  space. 
  2447.  
  2448.  
  2449. ΓòÉΓòÉΓòÉ 10.2.5. capture_on ΓòÉΓòÉΓòÉ
  2450.  
  2451.  capture_on("filename"); 
  2452.  
  2453.  Captures all screen output to a file. Replace filename with the name of the 
  2454.  file you want the output written to. The capture file will be automatically 
  2455.  closed when you log off, if you have Monitor_DCD selected. 
  2456.  
  2457.  
  2458. ΓòÉΓòÉΓòÉ 10.2.6. capture_off ΓòÉΓòÉΓòÉ
  2459.  
  2460.  capture_off(); 
  2461.  
  2462.  Stops screen capture and closes the capture file. You can also close the 
  2463.  capture file from the menu. 
  2464.  
  2465.  
  2466. ΓòÉΓòÉΓòÉ 10.2.7. shell ΓòÉΓòÉΓòÉ
  2467.  
  2468.  shell("\path\filename.ext"); 
  2469.  
  2470.  Allows you to call an external program to run from a script. 
  2471.  
  2472.  
  2473. ΓòÉΓòÉΓòÉ 10.3. 'C' Functions ΓòÉΓòÉΓòÉ
  2474.  
  2475. These are the functions that are included in the cpmcomms and cpmcomml 
  2476. libraries. The cpmcomms.lib is a small model library and the cpmcomml.lib is a 
  2477. large model library. The cpmcomm.h file has function definitions and should be 
  2478. included in any program that uses the cpmcomm libraries. The function init_lib 
  2479. must be called before any other of the library routines are used. 
  2480.  
  2481.  
  2482. ΓòÉΓòÉΓòÉ 10.3.1. wait_for ΓòÉΓòÉΓòÉ
  2483.  
  2484.  USHORT wait_for(USHORT argc,CHAR **argv,HFILE port); 
  2485.  
  2486.  Example 
  2487.  
  2488.  USHORT result; 
  2489.  
  2490.  CHAR *argv[2]; 
  2491.  
  2492.  CHAR string1[80]; 
  2493.  
  2494.  CHAR string2[80]; 
  2495.  
  2496.  strcpy(string1,"first name?"); 
  2497.  
  2498.  strcpy(string2,"last name?"); 
  2499.  
  2500.  argv[0] = string1; 
  2501.  
  2502.  argv[1] = string2; 
  2503.  
  2504.  result = wait_for(2,argv,port); 
  2505.  
  2506.  Description 
  2507.  
  2508.  The above example would wait for either first name?, or last name?, from the 
  2509.  com port. The function will return the index of the  string that matched. For 
  2510.  example if the wait_for received last name?, then the result would be 2. You 
  2511.  can specify any number of strings depending on memory available. 
  2512.  
  2513.  Returns 
  2514.  
  2515.  Index of matched string or zero if timeout or error. 
  2516.  
  2517.  
  2518. ΓòÉΓòÉΓòÉ 10.3.2. wait_fore ΓòÉΓòÉΓòÉ
  2519.  
  2520.  USHORT wait_fore(USHORT argc,CHAR **argv,HFILE port, HFILE screen_handle); 
  2521.  
  2522.  Example 
  2523.  
  2524.  USHORT result; 
  2525.  
  2526.  CHAR *argv[2]; 
  2527.  
  2528.  CHAR string1[80]; 
  2529.  
  2530.  CHAR string2[80]; 
  2531.  
  2532.  strcpy(string1,"first name?"); 
  2533.  
  2534.  strcpy(string2,"last name?"); 
  2535.  
  2536.  argv[0] = string1; 
  2537.  
  2538.  argv[1] = string2; 
  2539.  
  2540.  result = wait_for(2,argv,port,screen_handle); 
  2541.  
  2542.  Description 
  2543.  
  2544.  The first example would wait for either first name?, or last name?, from the 
  2545.  com port and echo the out_put to the Pmcomm screen. 
  2546.  
  2547.  Returns 
  2548.  
  2549.  Index of matched string or zero if timeout or error. 
  2550.  
  2551.  
  2552. ΓòÉΓòÉΓòÉ 10.3.3. put_s ΓòÉΓòÉΓòÉ
  2553.  
  2554.  USHORT put_s(char *string,HFILE port); 
  2555.  
  2556.  Example 
  2557.  
  2558.  put_s("first name",port); 
  2559.  
  2560.  Description 
  2561.  
  2562.  This call will send string out to port. In the above example first name will 
  2563.  be sent to the com port. If screen_handle is specified instead of port then 
  2564.  the string will be sent to the Pmcomm screen. 
  2565.  
  2566.  Returns 
  2567.  
  2568.  Length of string actually written. 
  2569.  
  2570.  
  2571. ΓòÉΓòÉΓòÉ 10.3.4. sleep ΓòÉΓòÉΓòÉ
  2572.  
  2573.  VOID sleep(ULONG time); 
  2574.  
  2575.  Example 
  2576.  
  2577.  sleep(1000L); 
  2578.  
  2579.  Description 
  2580.  
  2581.  This call will delay the program for the amount of milliseconds specified. The 
  2582.  above example will delay the computer for one second. 
  2583.  
  2584.  Returns 
  2585.  
  2586.  None. 
  2587.  
  2588.  
  2589. ΓòÉΓòÉΓòÉ 10.3.5. beep ΓòÉΓòÉΓòÉ
  2590.  
  2591.  VOID beep(USHORT frequency,USHORT duration); 
  2592.  
  2593.  Example 
  2594.  
  2595.  beep(495,100); 
  2596.  
  2597.  Description 
  2598.  
  2599.  The above example will beep the speaker. 
  2600.  
  2601.  Returns 
  2602.  
  2603.  None. 
  2604.  
  2605.  
  2606. ΓòÉΓòÉΓòÉ 10.3.6. os2_shell ΓòÉΓòÉΓòÉ
  2607.  
  2608.  VOID os2_shell(HFILE port,HFILE port); 
  2609.  
  2610.  Example 
  2611.  
  2612.  os2_shell(port,port); 
  2613.  
  2614.  Description 
  2615.  
  2616.  This command will allow a caller to shell to OS/2, remotely. The first 
  2617.  parameter is input handle and the second is the output handle. In the example 
  2618.  above, the command will receive and send the information to the com port. 
  2619.  
  2620.  Returns 
  2621.  
  2622.  None. 
  2623.  
  2624.  
  2625. ΓòÉΓòÉΓòÉ 10.3.7. init_lib ΓòÉΓòÉΓòÉ
  2626.  
  2627.  USHORT init_lib(int argc,char **argv); 
  2628.  
  2629.  Example 
  2630.  
  2631.  main(argc,argv) 
  2632.  
  2633.  { 
  2634.  
  2635.  init_lib(argc,argv); 
  2636.  
  2637.  ... 
  2638.  
  2639.  } 
  2640.  
  2641.  The init_lib function will initialize some global variables that are passed on 
  2642.  the command line. These variables are: 
  2643.  
  2644.  USHORT port; 
  2645.  
  2646.  CHAR portname[15]; 
  2647.  
  2648.  HFILE dde_output,dde_input; 
  2649.  
  2650.  HFILE screen_handle; 
  2651.  
  2652.  This function must be called before any other library function is called. 
  2653.  
  2654.  Returns 
  2655.  
  2656.  1 if sucessful and 0 if not. 
  2657.  
  2658.  
  2659. ΓòÉΓòÉΓòÉ 10.3.8. 'C' set_download_path ΓòÉΓòÉΓòÉ
  2660.  
  2661.  VOID set_download_path(char *path); 
  2662.  
  2663.  Example 
  2664.  
  2665.  set_download_path("c:\pmcomm"); 
  2666.  
  2667.  Description 
  2668.  
  2669.  The above example will set the download path to c:\pmcomm. This will store all 
  2670.  of the files received in that directory. 
  2671.  
  2672.  Returns 
  2673.  
  2674.  None. 
  2675.  
  2676.  
  2677. ΓòÉΓòÉΓòÉ 10.3.9. setcom ΓòÉΓòÉΓòÉ
  2678.  
  2679.  SHORT setcom(char *baud,UCHAR parity,UCHAR data_bit,UCHAR stop_bits,HFILE 
  2680.  port); 
  2681.  
  2682.  Example 
  2683.  
  2684.  setcom("2400",'N',8,1,port); 
  2685.  
  2686.  Description 
  2687.  
  2688.  This would set the com port to 2400 baud, no parity, 8 data bits, 1 stop bit. 
  2689.  Baud can be from 300 to 19200 with the standard OS/2 device driver. Parity can 
  2690.  be N(none), O(odd), E(even), M(marked), or S(spaced). Data bits can be 5, 6, 7 
  2691.  or 8. Stop bits can be 1 or 2 (2 can only be used with 5 data bits). If the 
  2692.  baud parameter is an empty string i.e. setcom("",'E',7,1,port) this leave the 
  2693.  baud at the current rate but set the line characteristics to 7, Even, 1. 
  2694.  
  2695.  Returns 
  2696.  
  2697.  1 if successful and 0 if unsuccessful. 
  2698.  
  2699.  
  2700. ΓòÉΓòÉΓòÉ 10.3.10. sendb ΓòÉΓòÉΓòÉ
  2701.  
  2702.  VOID sendb(LONG length,HFILE port); 
  2703.  
  2704.  Example 
  2705.  
  2706.  sendb(300L,port); 
  2707.  
  2708.  Description 
  2709.  
  2710.  This call sends a break signal a certain time in milliseconds. The above 
  2711.  example would send a break signal for 300 milliseconds. This call is mostly 
  2712.  used to establish direct connects (not using a modem). Three hundred 
  2713.  milliseconds should be okay for most situations. 
  2714.  
  2715.  Returns 
  2716.  
  2717.  None. 
  2718.  
  2719.  
  2720. ΓòÉΓòÉΓòÉ 10.3.11. dcd ΓòÉΓòÉΓòÉ
  2721.  
  2722.  USHORT dcd(HFILE port); 
  2723.  
  2724.  Example 
  2725.  
  2726.  dcd(port); 
  2727.  
  2728.  Description 
  2729.  
  2730.  This call checks to see if there is a carrier detected on the modem. You can 
  2731.  use this to see if Pmcomm is still online to a remote computer. For this 
  2732.  information to be correct the modem must support dcd and the modem must be 
  2733.  configured to support dcd. To find the command refer to your owner's manual. 
  2734.  
  2735.  Returns 
  2736.  
  2737.  1 if carrier detected and 0 if no carrier. 
  2738.  
  2739.  
  2740. ΓòÉΓòÉΓòÉ 10.3.12. char_avail ΓòÉΓòÉΓòÉ
  2741.  
  2742.  USHORT char_avail(HFILE port); 
  2743.  
  2744.  Example 
  2745.  
  2746.  char_avail(port); 
  2747.  
  2748.  Description 
  2749.  
  2750.  This call checks to see how many characters are available in the device 
  2751.  drivers receive buffer. You can use this function to check to see if the 
  2752.  device driver has received any characters from the com port. 
  2753.  
  2754.  Returns 
  2755.  
  2756.  Number of characters in device driver receive queue. 
  2757.  
  2758.  
  2759. ΓòÉΓòÉΓòÉ 10.3.13. read_timeout ΓòÉΓòÉΓòÉ
  2760.  
  2761.  read_timeout(USHORT timeout,HFILE port); 
  2762.  
  2763.  Example 
  2764.  
  2765.  read_timeout(20000,port); 
  2766.  
  2767.  Description 
  2768.  
  2769.  This call sets the length of time (in milliseconds) that wait_for, wait_fore, 
  2770.  get_ch will wait for a character from the com port. The above example will 
  2771.  make the functions wait for 20 seconds. 
  2772.  
  2773.  Returns 
  2774.  
  2775.  1 if successful and 0 if unsuccessful. 
  2776.  
  2777.  
  2778. ΓòÉΓòÉΓòÉ 10.3.14. get_ch ΓòÉΓòÉΓòÉ
  2779.  
  2780.  CHAR get_ch(HFILE port); 
  2781.  
  2782.  Example 
  2783.  
  2784.  ch = get_ch(port); 
  2785.  
  2786.  Description 
  2787.  
  2788.  This call will get a character from the com port. If no character is available 
  2789.  by the time set with read_timeout the function will return with a value of -1. 
  2790.  Otherwise the function will return with the character read. 
  2791.  
  2792.  Returns 
  2793.  
  2794.  char value if successful and -1 if unsuccessful. 
  2795.  
  2796.  
  2797. ΓòÉΓòÉΓòÉ 10.3.15. ring_detect ΓòÉΓòÉΓòÉ
  2798.  
  2799.  USHORT ring_detect(HFILE port); 
  2800.  
  2801.  Example 
  2802.  
  2803.  ring_detect(port); 
  2804.  
  2805.  Description 
  2806.  
  2807.  This call can be used to inform a program if the phone is ringing. 
  2808.  
  2809.  Returns 
  2810.  
  2811.  1 if ring detected, 0 if no ring. 
  2812.  
  2813.  
  2814. ΓòÉΓòÉΓòÉ 10.3.16. drop_dtr ΓòÉΓòÉΓòÉ
  2815.  
  2816.  VOID drop_dtr(HFILE port); 
  2817.  
  2818.  Example 
  2819.  
  2820.  drop_dtr(port); 
  2821.  
  2822.  Description 
  2823.  
  2824.  This call is usually used to make a modem hang up. The modem must be 
  2825.  configured to allow this. To find the command for your modem, check your 
  2826.  owner's manual. Dtr needs to be dropped for about 2-3 seconds to make sure the 
  2827.  modem sees the drop in DTR. After that length of time raise_dtr can be called 
  2828.  to bring DTR back up. On a Hayes 2400 the above command will also keep the 
  2829.  modem from doing an auto answer until you raise_dtr again. 
  2830.  
  2831.  Returns 
  2832.  
  2833.  None. 
  2834.  
  2835.  
  2836. ΓòÉΓòÉΓòÉ 10.3.17. raise_dtr ΓòÉΓòÉΓòÉ
  2837.  
  2838.  VOID raise_dtr(HFILE port); 
  2839.  
  2840.  Example 
  2841.  
  2842.  raise_dtr(port); 
  2843.  
  2844.  Description This call is usually used after drop_dtr to allow the modem to 
  2845.  process commands and enable it to answer the phone. 
  2846.  
  2847.  Returns 
  2848.  
  2849.  None. 
  2850.  
  2851.  
  2852. ΓòÉΓòÉΓòÉ 10.3.18. get_cursor_position ΓòÉΓòÉΓòÉ
  2853.  
  2854.  USHORT get_cursor_position(char *str); 
  2855.  
  2856.  Example 
  2857.  
  2858.  get_cursor_position("column"); 
  2859.  
  2860.  Description 
  2861.  
  2862.  The above will return the column that the cursor is in. To get the current 
  2863.  row, you would issue this call with "row" instead of "column". The row value 
  2864.  that is returned is relative to the top of the scroll back buffer. The top row 
  2865.  of the scroll back buffer and the first column would be 0,0. 
  2866.  
  2867.  Returns 
  2868.  
  2869.  Cursor position. 
  2870.  
  2871.  
  2872. ΓòÉΓòÉΓòÉ 10.3.19. get_char_at ΓòÉΓòÉΓòÉ
  2873.  
  2874.  VOID get_char_at(USHORT row,USHORT col,USHORT num,char *returnstr); 
  2875.  
  2876.  Example 
  2877.  
  2878.  get_char_at(0,0,80,str); 
  2879.  
  2880.  Description 
  2881.  
  2882.  The above will return the characters at the first line (stored in str) of the 
  2883.  scroll back buffer. It will return 80 characters, even if the characters are 
  2884.  spaces. The maximum number of characters that can be returned at one time is 
  2885.  200. 
  2886.  
  2887.  Returns 
  2888.  
  2889.  None. 
  2890.  
  2891.  
  2892. ΓòÉΓòÉΓòÉ 10.3.20. 'C'capture_on ΓòÉΓòÉΓòÉ
  2893.  
  2894.  USHORT capture_on(filename); 
  2895.  
  2896.  Example 
  2897.  
  2898.  capture_on("c:\pmcomm\cap.txt"); 
  2899.  
  2900.  Description 
  2901.  
  2902.  The above will turn capture on so that everything will be saved into a file. 
  2903.  If you have strip ANSI configured in Pmcomm then the text only will be saved 
  2904.  in ANSI, VT100, and VT220 terminal emulations. 
  2905.  
  2906.  Returns 
  2907.  
  2908.  1 if successful and 0 if not. 
  2909.  
  2910.  
  2911. ΓòÉΓòÉΓòÉ 10.3.21. 'C' capture_off ΓòÉΓòÉΓòÉ
  2912.  
  2913.  VOID capture_off(VOID); 
  2914.  
  2915.  Example 
  2916.  
  2917.  capture_off(); 
  2918.  
  2919.  Description 
  2920.  
  2921.  The above will turn capture off. The capture may have been started from a 
  2922.  script or from the menu. 
  2923.  
  2924.  Returns 
  2925.  
  2926.  1 if successful and 0 if not. 
  2927.  
  2928.  
  2929. ΓòÉΓòÉΓòÉ 10.3.22. xmodem_send ΓòÉΓòÉΓòÉ
  2930.  
  2931.  USHORT xmodem_send(char *filename); 
  2932.  
  2933.  Example 
  2934.  
  2935.  xmodem_send("d:\path\filename.ext"); 
  2936.  
  2937.  Description 
  2938.  
  2939.  This call will invoke the Xmodem_CRC send routine, built into Pmcomm. Once 
  2940.  issued the call will not return until the transfer either finishes or is 
  2941.  aborted. Pmcomm will show the normal transfer box that it does when download 
  2942.  is selected from the menu. 
  2943.  
  2944.  Returns 
  2945.  
  2946.  1 if the transfer is successful and 0 if unsuccessful. 
  2947.  
  2948.  
  2949. ΓòÉΓòÉΓòÉ 10.3.23. xmodem_receive ΓòÉΓòÉΓòÉ
  2950.  
  2951.  USHORT xmodem_receive(char *filename); 
  2952.  
  2953.  Example 
  2954.  
  2955.  xmodem_receive("d:\path\filename.ext"); 
  2956.  
  2957.  Description 
  2958.  
  2959.  This call will invoke the Xmodem_CRC receive routine, built into Pmcomm. Once 
  2960.  issued the call will not return until the transfer either finishes or is 
  2961.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  2962.  from the menu. The file name specified must include a path. 
  2963.  
  2964.  Returns 
  2965.  
  2966.  1 if transfer is successful and 0 if unsuccessful. 
  2967.  
  2968.  
  2969. ΓòÉΓòÉΓòÉ 10.3.24. xmodem_chk_send ΓòÉΓòÉΓòÉ
  2970.  
  2971.  USHORT xmodem_chk_send(char *filename); 
  2972.  
  2973.  Example 
  2974.  
  2975.  xmodem_chk_send("d:\path\filename.ext"); 
  2976.  
  2977.  Description 
  2978.  
  2979.  This call will invoke the Xmodem_Checksum send routine, built into Pmcomm. 
  2980.  Once issued the call will not return until the transfer either finishes or is 
  2981.  aborted. Pmcomm will show the normal transfer box that it does when download 
  2982.  is selected from the menu. 
  2983.  
  2984.  Returns 
  2985.  
  2986.  1 if transfer is successful and 0 if unsuccessful. 
  2987.  
  2988.  
  2989. ΓòÉΓòÉΓòÉ 10.3.25. xmodem_chk_receive ΓòÉΓòÉΓòÉ
  2990.  
  2991.  USHORT xmodem_chk_receive(char *filename); 
  2992.  
  2993.  Example 
  2994.  
  2995.  xmodem_chk_receive("d:\path\filename.ext"); 
  2996.  
  2997.  Description 
  2998.  
  2999.  This call will invoke the Xmodem_Checksum receive routine, built into Pmcomm. 
  3000.  Once issued the call will not return until the transfer either finishes or is 
  3001.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3002.  from the menu. The file name specified must include a path. 
  3003.  
  3004.  Returns 
  3005.  
  3006.  1 if transfer is successful and 0 if unsuccessful. 
  3007.  
  3008.  
  3009. ΓòÉΓòÉΓòÉ 10.3.26. xmodem_1k_send ΓòÉΓòÉΓòÉ
  3010.  
  3011.  USHORT xmodem_1k_send(char *filename); 
  3012.  
  3013.  Example 
  3014.  
  3015.  xmodem_1k_send("d:\path\filename.ext"); 
  3016.  
  3017.  Description 
  3018.  
  3019.  This call will invoke the 1K-Xmodem send routine, built into Pmcomm. Once 
  3020.  issued the call will not return until the transfer either finishes or is 
  3021.  aborted. Pmcomm will show the normal transfer box that it does when download 
  3022.  is selected from the menu. 
  3023.  
  3024.  Returns 
  3025.  
  3026.  1 if transfer is successful and 0 if unsuccessful. 
  3027.  
  3028.  
  3029. ΓòÉΓòÉΓòÉ 10.3.27. xmodem_1k_receive ΓòÉΓòÉΓòÉ
  3030.  
  3031.  USHORT xmodem_1k_receive(char *filename); 
  3032.  
  3033.  Example 
  3034.  
  3035.  xmodem_1k_receive("d:\path\filename.ext"); 
  3036.  
  3037.  Description 
  3038.  
  3039.  This call will invoke the 1K-Xmodem receive routine, built into Pmcomm. Once 
  3040.  issued the call will not return until the transfer either finishes or is 
  3041.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3042.  from the menu. The file name specified must include a path. 
  3043.  
  3044.  Returns 
  3045.  
  3046.  1 if transfer is successful and 0 if unsuccessful. 
  3047.  
  3048.  
  3049. ΓòÉΓòÉΓòÉ 10.3.28. ymodem_send ΓòÉΓòÉΓòÉ
  3050.  
  3051.  USHORT ymodem_send(USHORT num_files,CHAR **filearray); 
  3052.  
  3053.  Example 
  3054.  
  3055.  USHORT result; 
  3056.  
  3057.  CHAR *filearray[2]; 
  3058.  
  3059.  CHAR string1[80]; 
  3060.  
  3061.  CHAR string2[80]; 
  3062.  
  3063.  strcpy(string1,"pmcom106.zip"); 
  3064.  
  3065.  strcpy(string2,"pmcom107.zip"); 
  3066.  
  3067.  filearray[0] = string1; 
  3068.  
  3069.  filearray[1] = string2; 
  3070.  
  3071.  result = ymodem_send(2,filearray); 
  3072.  
  3073.  Description 
  3074.  
  3075.  This call will invoke the Ymodem send routine, built into Pmcomm. Once issued 
  3076.  the call will not return until the transfer either finishes or is aborted. 
  3077.  Pmcomm will show the normal transfer box that it does when download is 
  3078.  selected from the menu. As many as 8 files can be sent at one time. 
  3079.  
  3080.  Returns 
  3081.  
  3082.  Number of files successfully transferred. 
  3083.  
  3084.  
  3085. ΓòÉΓòÉΓòÉ 10.3.29. ymodem_receive ΓòÉΓòÉΓòÉ
  3086.  
  3087.  USHORT ymodem_receive(VOID); 
  3088.  
  3089.  Example 
  3090.  
  3091.  ymodem_receive(); 
  3092.  
  3093.  Description 
  3094.  
  3095.  This call will invoke the Ymodem receive routine, built into Pmcomm. Once 
  3096.  issued the call will not return until the transfer either finishes or is 
  3097.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3098.  from the menu. Only a single file at a time will be accepted. 
  3099.  
  3100.  Returns 
  3101.  
  3102.  1 if call is successful and 0 if unsuccessful. 
  3103.  
  3104.  
  3105. ΓòÉΓòÉΓòÉ 10.3.30. ymodemg_send ΓòÉΓòÉΓòÉ
  3106.  
  3107.  USHORT ymodemg_send(USHORT num_files, CHAR **filearray); 
  3108.  
  3109.  Example 
  3110.  
  3111.  USHORT result; 
  3112.  
  3113.  CHAR *filearray[2]; 
  3114.  
  3115.  CHAR string1[80]; 
  3116.  
  3117.  CHAR string2[80]; 
  3118.  
  3119.  strcpy(string1,"pmcom106.zip"); 
  3120.  
  3121.  strcpy(string2,"pmcom107.zip"); 
  3122.  
  3123.  filearray[0] = string1; 
  3124.  
  3125.  filearray[1] = string2; 
  3126.  
  3127.  result = ymodemg_send(2,filearray); 
  3128.  
  3129.  Description 
  3130.  
  3131.  This call will invoke the Ymodem-g send routine, built into Pmcomm. Once 
  3132.  issued the call will not return until the transfer either finishes or is 
  3133.  aborted. Pmcomm will show the normal transfer box that it does when 
  3134.  downloading from the menu. As many as 8 files can be sent at one time. 
  3135.  
  3136.  Returns 
  3137.  
  3138.  Number of files successfully transferred. 
  3139.  
  3140.  
  3141. ΓòÉΓòÉΓòÉ 10.3.31. ymodemg_receive ΓòÉΓòÉΓòÉ
  3142.  
  3143.  USHORT ymodemg_receive(VOID); 
  3144.  
  3145.  Example 
  3146.  
  3147.  ymodemg_receive(); 
  3148.  
  3149.  Description 
  3150.  
  3151.  This call will invoke the Ymodem-g receive routine, built into Pmcomm. Once 
  3152.  issued the call will not return until the transfer either finishes or is 
  3153.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3154.  from the menu. Only one file at a time can be received. 
  3155.  
  3156.  Returns 
  3157.  
  3158.  1 if call is successful and 0 if unsuccessful. 
  3159.  
  3160.  
  3161. ΓòÉΓòÉΓòÉ 10.3.32. zmodem_send ΓòÉΓòÉΓòÉ
  3162.  
  3163.  USHORT zmodem_send(USHORT num_files, CHAR **filearray); 
  3164.  
  3165.  Example 
  3166.  
  3167.  USHORT result; 
  3168.  
  3169.  CHAR *filearray[2]; 
  3170.  
  3171.  CHAR string1[80]; 
  3172.  
  3173.  CHAR string2[80]; 
  3174.  
  3175.  strcpy(string1,"pmcom106.zip"); 
  3176.  
  3177.  strcpy(string2,"pmcom107.zip"); 
  3178.  
  3179.  filearray[0] = string1; 
  3180.  
  3181.  filearray[1] = string2; 
  3182.  
  3183.  result = zmodem_send(2,filearray); 
  3184.  
  3185.  Description 
  3186.  
  3187.  This call will invoke the Zmodem send routine, built into Pmcomm. Once issued 
  3188.  the call will not return until the transfer either finishes or is aborted. 
  3189.  Pmcomm will show the normal transfer box that it does when downloading from 
  3190.  the menu. As many as 100 files may be transferred at one time. 
  3191.  
  3192.  Returns 
  3193.  
  3194.  Number of files successfully transferred. 
  3195.  
  3196.  
  3197. ΓòÉΓòÉΓòÉ 10.3.33. zmodem_receive ΓòÉΓòÉΓòÉ
  3198.  
  3199.  USHORT zmodem_receive(VOID); 
  3200.  
  3201.  Example 
  3202.  
  3203.  zmodem_receive(); 
  3204.  
  3205.  Description 
  3206.  
  3207.  This call will invoke the Zmodem receive routine, built into Pmcomm. Once 
  3208.  issued the call will not return until the transfer either finishes or is 
  3209.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3210.  from the menu. Only one file at a time can be received. 
  3211.  
  3212.  Returns 
  3213.  
  3214.  The number of files transferred. 
  3215.  
  3216.  
  3217. ΓòÉΓòÉΓòÉ 10.3.34. kermit_send ΓòÉΓòÉΓòÉ
  3218.  
  3219.  USHORT kermit_send(USHORT num_files, CHAR **filearray); 
  3220.  
  3221.  Example 
  3222.  
  3223.  USHORT result; 
  3224.  
  3225.  CHAR *filearray[2]; 
  3226.  
  3227.  CHAR string1[80]; 
  3228.  
  3229.  CHAR string2[80]; 
  3230.  
  3231.  strcpy(string1,"pmcom106.zip"); 
  3232.  
  3233.  strcpy(string2,"pmcom107.zip"); 
  3234.  
  3235.  filearray[0] = string1; 
  3236.  
  3237.  filearray[1] = string2; 
  3238.  
  3239.  result = kermit_send(2,filearray); 
  3240.  
  3241.  Description 
  3242.  
  3243.  This call will invoke the Kermit send routine, built into Pmcomm. Once issued 
  3244.  the call will not return until the transfer either finishes or is aborted. 
  3245.  Pmcomm will show the normal transfer box that it does when downloading from 
  3246.  the menu. As many as 100 files may be transferred at one time. 
  3247.  
  3248.  Returns 
  3249.  
  3250.  Number of files successfully transferred. 
  3251.  
  3252.  
  3253. ΓòÉΓòÉΓòÉ 10.3.35. kermit_receive ΓòÉΓòÉΓòÉ
  3254.  
  3255.  USHORT kermit_receive(VOID); 
  3256.  
  3257.  Example 
  3258.  
  3259.  kermit_receive(); 
  3260.  
  3261.  Description 
  3262.  
  3263.  This call will invoke the Kermit receive routine, built into Pmcomm. Once 
  3264.  issued the call will not return until the transfer either finishes or is 
  3265.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3266.  from the menu. Only one file at a time can be received. 
  3267.  
  3268.  Returns 
  3269.  
  3270.  Number of files transferred. 
  3271.  
  3272.  
  3273. ΓòÉΓòÉΓòÉ 10.3.36. ascii_send ΓòÉΓòÉΓòÉ
  3274.  
  3275.  USHORT ascii_send(char *filename); 
  3276.  
  3277.  Example 
  3278.  
  3279.  ascii_send("d:\path\filename.ext"); 
  3280.  
  3281.  Description 
  3282.  
  3283.  This call will invoke the ASCII send routine, built into Pmcomm. Once issued 
  3284.  the call will not return until the transfer either finishes or is aborted. 
  3285.  Pmcomm will show the normal transfer box that it does when downloading from 
  3286.  the menu. 
  3287.  
  3288.  Returns 
  3289.  
  3290.  1 if transfer is successful and 0 if unsuccessful. 
  3291.  
  3292.  
  3293. ΓòÉΓòÉΓòÉ 10.3.37. ascii_receive ΓòÉΓòÉΓòÉ
  3294.  
  3295.  USHORT ascii_receive(filename); 
  3296.  
  3297.  Example 
  3298.  
  3299.  ascii_receive("d:\path\filename.ext"); 
  3300.  
  3301.  Description 
  3302.  
  3303.  This call will invoke the ASCII receive routine, built into Pmcomm. Once 
  3304.  issued the call will not return until the transfer either finishes or is 
  3305.  aborted. Pmcomm will show the normal transfer box that it does when uploading 
  3306.  from the menu. The file name specified must not include a path. 
  3307.  
  3308.  Returns 
  3309.  
  3310.  1 if transfer is successful and 0 if unsuccessful. 
  3311.  
  3312.  
  3313. ΓòÉΓòÉΓòÉ 10.3.38. cisb_send ΓòÉΓòÉΓòÉ
  3314.  
  3315.  USHORT cisb_send(char *filename); 
  3316.  
  3317.  Example 
  3318.  
  3319.  cisb_send("d:\path\filename.ext"); 
  3320.  
  3321.  Description 
  3322.  
  3323.  This call will invoke the CISB send routine, built into Pmcomm. Once issued 
  3324.  the call will not return until the transfer either finishes or is aborted. 
  3325.  Pmcomm will show the normal transfer box that it does when download is 
  3326.  selected from the menu. 
  3327.  
  3328.  Returns 
  3329.  
  3330.  1 if the transfer is successful and 0 if unsuccessful. 
  3331.  
  3332.  
  3333. ΓòÉΓòÉΓòÉ 10.3.39. cisb_receive ΓòÉΓòÉΓòÉ
  3334.  
  3335.  USHORT cisb_receive(char *filename); 
  3336.  
  3337.  Example 
  3338.  
  3339.  cisb_receive("d:\path\filename.ext"); 
  3340.  
  3341.  Description 
  3342.  
  3343.  This call will invoke the CISB receive routine, built into Pmcomm. Once issued 
  3344.  the call will not return until the transfer either finishes or is aborted. 
  3345.  Pmcomm will show the normal transfer box that it does when uploading from the 
  3346.  menu. The file name specified must include a path. 
  3347.  
  3348.  Returns 
  3349.  
  3350.  1 if transfer is successful and 0 if unsuccessful. 
  3351.  
  3352.  
  3353. ΓòÉΓòÉΓòÉ 10.4. Sample Scripts ΓòÉΓòÉΓòÉ
  3354.  
  3355. These are scripts to help you, when you start to write your own scripts. 
  3356.  
  3357.  
  3358. ΓòÉΓòÉΓòÉ 10.4.1. REXX Sample ΓòÉΓòÉΓòÉ
  3359.  
  3360.  /* Sample Script*/ 
  3361.  
  3362.  /* This script will allow you to log on to Compu-Plane once you change the 
  3363.  strings stored in the variables called name and pass. Enter the sample.scr 
  3364.  name for the script name of the Compu-Plane phone number, and change the name 
  3365.  in the shell( ) function to the path and filename of this file.*/ 
  3366.  
  3367.  Call RxFuncadd "init_dll","RxPmcomm","init_dll" 
  3368.  
  3369.  /* This function registers the init_dll function with REXX. The init_dll 
  3370.  function will register the rest of the functions in the rxpmcomm.dll. */ 
  3371.  
  3372.  Parse arg port portname screen_handle dde_output dde_input semaphore 
  3373.  
  3374.  /*These are the values that Pmcomm passes on the command line to an external 
  3375.  program. These values can then be used in different REXX functions along with 
  3376.  the rxpmcomm.dll functions. Following is the description of each value: */ 
  3377.  
  3378.  /* port = The handle of the open com port in Pmcomm */ 
  3379.  
  3380.  /* portname = The name of the opened com port ie.. COM1*/ 
  3381.  
  3382.  /* screen_handle = Anything written to the handle will be printed on the 
  3383.  Pmcomm screen. */ 
  3384.  
  3385.  /* dde_input = This must be passed to most functions. It allows the 
  3386.  rxpmcomm.dll function to communicate with Pmcomm. */ 
  3387.  
  3388.  /* dde_output = This must be passed to most functions. It allows the 
  3389.  rxpmcomm.dll function to communicate with Pmcomm. */ 
  3390.  
  3391.  /* semaphore = This also must be passed to any file transfer function. It 
  3392.  makes your REXX program wait until the transfer has been completed. */ 
  3393.  
  3394.  Call init_dll 
  3395.  
  3396.  /* Required before any other rxpmcomm.dll functions are called. */ 
  3397.  
  3398.  /* Setup variables  */ 
  3399.  
  3400.  name = 'first;last'  /* where first is your first name and last is*/ 
  3401.  pass = 'password'   /* your last name and password is your password.*/ 
  3402.  cr  = '0d'x 
  3403.  
  3404.  Call read_timeout '20000',port 
  3405.  
  3406.  /* This sets the read timeout for 20 seconds. This is used in the Wait_for, 
  3407.  Wait_fore, and the Get_ch functions. */ 
  3408.  
  3409.  Say 'Waiting for first name ...' 
  3410.  
  3411.  /* This will be printed on the REXX screen. */ 
  3412.  
  3413.  Do Forever 
  3414.  
  3415.  Call Wait_fore 'name', 'password', 'continue?','?->', port, screen_handle 
  3416.  
  3417.  /* This call will echo all characters to the Pmcomm screen that come from the 
  3418.  open com port. When one of the strings are matched the function will return 
  3419.  the index of the matched string in the variable result. For example if it 
  3420.  receives the string password then the result will be equal to 2. If the 
  3421.  function waits longer then the read timeout value then result will be equal to 
  3422.  0. */ 
  3423.  match = result 
  3424.    Select 
  3425.     When match=1 then 
  3426.      Do 
  3427.       Call Put_s name||cr,port 
  3428.       Say 'Waiting for password ...' 
  3429.      End 
  3430.     When match=2 then Call Put_s pass||cr,port 
  3431.     When match=3 then Call Put_s cr,port 
  3432.     When match=4 then Exit 
  3433.    Otherwise nop 
  3434.    End 
  3435.  End 
  3436.  Say 'Script ended  -' date( ) time( ) 
  3437.  Exit 
  3438.  
  3439.  
  3440. ΓòÉΓòÉΓòÉ 10.4.2. Internal Sample ΓòÉΓòÉΓòÉ
  3441.  
  3442. An example script to log onto a Multi-Net Communications BBS could be: 
  3443.  
  3444.           wait_for ("first name"); 
  3445.           puts ("john\n"); 
  3446.  wait_for("last name"); 
  3447.  puts("doe\n"); 
  3448.  wait_for("password"); 
  3449.  puts("password\n"); 
  3450.           sleep (1000); 
  3451.  puts("\n"); 
  3452.  
  3453.  Scripts can be executed automatically when logging onto a BBS by specifying 
  3454.  the script filename in the dialing directory for that phone number. You can 
  3455.  execute a script from the  File menu at anytime. 
  3456.  
  3457.  
  3458. ΓòÉΓòÉΓòÉ 11. Installing Pmcomm Host Mode ΓòÉΓòÉΓòÉ
  3459.  
  3460. To install Pmcomm's Host Mode, change to the Pmcomm directory and run the 
  3461. host.exe program. The first prompt will ask you to enter the maximum baud rate 
  3462. of your modem. At the next prompt you must enter the number of selection that 
  3463. matches your modem the closest. If you are unsure of which selection to make, 
  3464. choose the Hayes 2400 modem as your selection. Next, you must enter the path, 
  3465. including drive, of where you wish to install the Host Mode. When prompted, 
  3466. enter your first name, last name, and password. The install program 
  3467. automatically creates a password file in the necessary format. If this is an 
  3468. "open" system new users will be stored in this file automatically. If this is a 
  3469. "closed" system only the people that are registered in this file will be able 
  3470. to access the Host Mode. 
  3471.  
  3472. The six files that the install program creates are HOSTPASS.FLE, HOSTDIR.FLE, 
  3473. HOSTHEAD.FLE, HOST.SCR, HOSTNEWU.FLE, and HOSTHELP.FLE. The HOSTPASS.FLE file 
  3474. is where all of the users' names, passwords, securities, and last time on are 
  3475. stored. The HOSTDIR.FLE file is a list of the directories that have been 
  3476. created for the host mode. The HOSTHEAD.FLE file is the file that is displayed 
  3477. to users when they logon. The HOST.SCR file is the main executable script. The 
  3478. HOSTNEWU.FLE file is the file that is displayed to new users. In order for a 
  3479. user to be able to receive help from the menu, the HOSTHELP.FLE must contain 
  3480. the information that will be displayed. 
  3481.  
  3482.  
  3483. ΓòÉΓòÉΓòÉ 12. How To... ΓòÉΓòÉΓòÉ
  3484.  
  3485. This section gives you examples of how to set Pmcomm up to do different things. 
  3486.  
  3487.  
  3488. ΓòÉΓòÉΓòÉ 12.1. How to make Pmcomm receive incoming calls. ΓòÉΓòÉΓòÉ
  3489.  
  3490. To make Pmcomm receive an incoming call without using the Host Mode, send the 
  3491. following command to the modem. 
  3492.  
  3493.  ATS0=1 
  3494.  
  3495.  
  3496. ΓòÉΓòÉΓòÉ 12.2. How to Use Pmcomm with a modem pool. ΓòÉΓòÉΓòÉ
  3497.  
  3498. Because Pmcomm does not use ACDI, and will allow you to enter any valid 12 
  3499. character name for a device, it will work with a shared serial port modem pool. 
  3500. This allows you to have modems on a server that users can access from their 
  3501. workstations. This can save a considerable about of money. 
  3502.  
  3503. First the ibmlan.ini file, on the Server and the Requesters, must be edited in 
  3504. order to operate Pmcomm in a modem pool. The "charwait" variable must be 
  3505. changed from it's default setting of 3600 to a setting of 3 and then re-boot 
  3506. the Server and all of the Requesters. 
  3507.  
  3508. The following is a flash from IBMLink on how to setup a modem pool using Pmcomm 
  3509. and Lan Server. 
  3510.  
  3511. The rest of this scenario concerns the OS/2 LAN Server definitions. When LAN 
  3512. Server definitions and actions are complete, defined users at any OS/2 
  3513. Requestor can run the program from the OS/2 Public Applications Window. The 
  3514. serial port and modem at the LAN Server will be shared. To begin, logon as an 
  3515. administrator in the proper domain. Then follow instructions for the following: 
  3516.  
  3517.  
  3518.  a. Defining the shared modem 
  3519.  b. Defining the shared program files 
  3520.  c. Defining the program as a public OS/2 application 
  3521.  d. Defining the working directory 
  3522.  e. Sharing the modem and the program 
  3523.  f. Assigning the modem and the program to the users as they log on. 
  3524.  
  3525.  DEFINING THE SHARED MODEM 
  3526.    Follow this sequence: 
  3527.  
  3528.    DEFINITION 
  3529.    ALIASES 
  3530.    SERIAL DEVICES 
  3531.    --NEW-- (With cursor on --NEW--, press space bar to 
  3532.    choose, press enter or click on ACTION) 
  3533.    CREATE(Create a serial device alias - I used an 
  3534.        alias of MODEM1, chose COM1 from the device 
  3535.        pool using F4 for the list, and choose to 
  3536.        share the port at server startup) 
  3537.  
  3538.  
  3539.  *-----------------------------------------------------------* 
  3540.  
  3541.                Create Alias - Serial Device 
  3542.  
  3543.    Complete the panel; then Enter. 
  3544.  
  3545.    Alias . . . . . . . . . . . . . . . MODEM1 
  3546.    Description . . . . . . . . . . . . Shared modem 
  3547.    Server Name . . . . . . . . . . . . Chosen with the F4 key 
  3548.    Server Device Pool. . . . . . . . . COM1 
  3549.    Priority. . . . . . . . . . . . . . 5 (chosen arbitrarily) 
  3550.    Maximum number of users . . . . . . (Number of shared serial ports) 
  3551.    When shared . . . . . . . . . > At server startup 
  3552.  
  3553.  |-----------------------------------------------------------| 
  3554.  
  3555.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3556.  
  3557.  *-----------------------------------------------------------* 
  3558.  
  3559.  DEFINING THE SHARED PROGRAM FILES 
  3560.  Follow this sequence: 
  3561.    DEFINITION 
  3562.    ALIASES 
  3563.    FILES 
  3564.    --NEW-- (With cursor on --NEW--, press space bar to 
  3565.        choose, press enter or click on ACTION) 
  3566.    CREATE (Create the file alias) 
  3567.  
  3568.  *---------------------------------------------------------* 
  3569.  
  3570.                Create Alias - Files 
  3571.  
  3572.    Complete the panel; then Enter. 
  3573.  
  3574.    Alias . . . . . . . . . . . . . . . PMCOMM 
  3575.    Description . . . . . . . . . . . . Program to access shared modem 
  3576.    Server Name . . . . . . . . . . . . Chosen with the F4 key 
  3577.    Server Path to Directory. . . . . . :OS2:ASYNC:PMCOMM 
  3578.  
  3579.    Maximum number of users . . . . . . (left blank) 
  3580.    When shared . . . . . . . . . > At server startup 
  3581.  
  3582.  |---------------------------------------------------------| 
  3583.  
  3584.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3585.  
  3586.  *---------------------------------------------------------* 
  3587.  
  3588.  DEFINING THE PROGRAM AS A PUBLIC OS/2 APPLICATION 
  3589.  Follow this sequence: 
  3590.    DEFINITION 
  3591.    APPLICATION 
  3592.    PUBLIC OS/2 APPLICATION 
  3593.    --NEW-- (With cursor on --NEW--, press space bar to 
  3594.      choose, press enter or click on ACTION) 
  3595.    CREATE 
  3596.  
  3597.  *----------------------------------------------------------* 
  3598.  
  3599.                Create OS/2 Application Details 
  3600.  
  3601.    Complete the panel; then Enter. 
  3602.  
  3603.    Application ID. . . . . . . . . . . PMCOMMX 
  3604.    Description . . . . . . . . . . . . Shared modem communications 
  3605.    Program location. . . . . . . . . . Remote 
  3606.    Drive or alias. . . . . . . . . . . PMCOMM 
  3607.    Remaining path to program . . . . . : 
  3608.    Command line. . . . . . . . . . . . PMCOMM.EXE 
  3609.    Prompt used for parameters? . . . . NO 
  3610.    Program type. . . . . . . . . . . . OS/2 PM 
  3611.  
  3612.  |----------------------------------------------------------| 
  3613.  
  3614.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3615.  
  3616.  *----------------------------------------------------------* 
  3617.  
  3618.  DEFINING THE WORKING DIRECTORY 
  3619.  
  3620.  PMCOMM has support files that should reside in the working directory at 
  3621.  the server. If this directory is not assigned, each user must have these 
  3622.  files on their own  disk. 
  3623.  
  3624.    Follow this sequence: 
  3625.    DEFINITION 
  3626.    APPLICATION 
  3627.    PUBLIC OS/2 APPLICATION 
  3628.    --PMCOMMX-- (With cursor on --PMCOMMX--, press space 
  3629.      bar to choose, press enter or click on 
  3630.      ACTION) 
  3631.    WORKING DIRECTORY 
  3632.  
  3633.  *---------------------------------------------------------* 
  3634.  
  3635.                    Working Directory 
  3636.  
  3637.    Complete the panel; then Enter. 
  3638.  
  3639.    Working Directory . . . . . . . . . REMOTE 
  3640.    Drive or alias. . . . . . . . . . . PMCOMM 
  3641.    Remaining path to program . . . . . : 
  3642.    Assigned Drive. . . . . . . . . . . P (chosen arbitrarily) 
  3643.  
  3644.  |---------------------------------------------------------| 
  3645.  
  3646.    ENTER  Escape=Cancel  F1=Help  F4=List 
  3647.  
  3648.  *---------------------------------------------------------* 
  3649.  
  3650.  SHARING THE PROGRAM AND THE MODEM 
  3651.    Follow this sequence: 
  3652.    ACTION 
  3653.    RESOURCE SHARING 
  3654.    --PMCOMM-- (With cursor on --PMCOMM--, press spacebar 
  3655.        to choose, press enter or click on ACTION) 
  3656.    START SHARING 
  3657.    --MODEM1-- (With cursor on --MODEM1--, press spacebar 
  3658.        to choose, press enter or click on ACTION) 
  3659.    START SHARING 
  3660.  
  3661.  ASSIGNING RESOURCES TO USERS AS THEY LOG ON 
  3662.  
  3663.    Follow this sequence for each user, to assign MODEM1 as a user 
  3664.        logs on: 
  3665.    DEFINITION 
  3666.    USERS 
  3667.    -- User -- (With cursor on the user name, press F10) 
  3668.    LOGON 
  3669.    SERIAL DEVICE ASSIGNMENTS 
  3670.    Assign MODEM1 to a COM port 
  3671.  
  3672.    Follow this sequence for each user, to copy the program to the user's 
  3673.  
  3674.    START PROGRAMS window: 
  3675.    DEFINITION 
  3676.    USERS 
  3677.    -- User -- (With cursor on the user name, press spacebar 
  3678.        to choose, press enter or click on ACTION) 
  3679.    PROGRAM STARTER 
  3680.    --PMCOMMX-- (With cursor on --PMCOMMX-- press the 
  3681.        spacebar to choose) 
  3682.  
  3683.  
  3684. ΓòÉΓòÉΓòÉ 12.3. How to Use Pmcomm with IBMLink. ΓòÉΓòÉΓòÉ
  3685.  
  3686. If you have access to IBMLink (ask an IBM SE) you can use Pmcomm to call. The 
  3687. first thing you will need is a phone number that will work with Pmcomm. This 
  3688. type of number is call, an SS/EFS number. This stands for, Start Stop Enhanced 
  3689. Full Screen. It allows access to IBMLink through a 3708 protocol converter. To 
  3690. find a number in your area, ask your IBM SE, or order book number GC-34-22-34. 
  3691. It has a current list of all the public IBMLink phone numbers in it. 
  3692.  
  3693. Once you have the required phone number, you can add it to the Pmcomm dialing 
  3694. directory. You should set the Parity to Even,the Data bits to 7, and the Stop 
  3695. bits to 1. The terminal type should be set to VT220. Once connected you will 
  3696. see a prompt that asks you for your terminal type. If you press enter now it 
  3697. will display a list of available terminals. The best choice here is to select 
  3698. VT220, which is selection 18. By selecting VT220 you are able to use additional 
  3699. commands that are not available with VT100. If you select VT220 the first nine 
  3700. PF keys will be the numeric key pad keys (the num lock must be off). For 
  3701. example, PF1 will be the 1 on the key pad, PF2 will be 2 and so on. For PF10 it 
  3702. will be the F1 key, PF11 will be the F2 key and PF12 will be the F3 key. To do 
  3703. a reset press the Ctrl-R and to do a clear press the Ctrl-C. 
  3704.  
  3705. Once logged onto IBMLink just follow the prompts and you shouldn't have any 
  3706. problem. 
  3707.  
  3708.  
  3709. ΓòÉΓòÉΓòÉ 12.4. How to Use Pmcomm with ESDTools. ΓòÉΓòÉΓòÉ
  3710.  
  3711. Once you are logged onto ESDTools and have selected the files you wish to 
  3712. receive, press the PF9 key (using VT220 this is the 9 on the numeric keypad). 
  3713. ESDTools will then ask you which drive you will be receiving the file to. 
  3714. Choose any drive as this parameter will be ignored by Pmcomm. You will then be 
  3715. prompted for the operating system, select OS/2. The last selection will be for 
  3716. the type of connection (i.e. Asynch ect...), select the appropriate connection 
  3717. type. ESDTools will then tell you not to press the enter key until prompted to 
  3718. do so by your communications software. At this time select Transfer, Download 
  3719. from the Pmcomm menu. Once the transfer has completed you can then press the 
  3720. enter key to return to the file list menu. 
  3721.  
  3722.  
  3723. ΓòÉΓòÉΓòÉ 12.5. How to Use a REXX program as a script. ΓòÉΓòÉΓòÉ
  3724.  
  3725. A REXX program can be executed from Pmcomm by entering the name of the program 
  3726. name directly into the dialing_directory or from the start script menu. A REXX 
  3727. program can also be started by using the shell command in a macro. An example 
  3728. of this would be: 
  3729.  
  3730. shell("c:\pmcomm\plane.cmd"); 
  3731.  
  3732. This would execute the REXX script called plane.cmd. This allows you a quick 
  3733. and easy way to execute often used scripts. 
  3734.  
  3735.  
  3736. ΓòÉΓòÉΓòÉ 12.6. How to Use drag and drop. ΓòÉΓòÉΓòÉ
  3737.  
  3738. When files are dragged from the file manager and dropped onto Pmcomm's terminal 
  3739. emulation screen, the transfer protocol that is listed for that phone number 
  3740. will be invoked and the file(s) will be sent to the remote computer. If you 
  3741. have Monitor_DCD selected then drag options will not be allowed until connected 
  3742. with another computer. 
  3743.  
  3744. To drag files from the file manager, select a file (or files) and then click on 
  3745. the selected file(s) with the RIGHT mouse button and hold the button down. Once 
  3746. you have begun to drag the files with the mouse the mouse pointer will change 
  3747. shape. If the mouse pointer is over a program that does not accept drag and 
  3748. drop the pointer will again change shape. When the mouse pointer is over any 
  3749. part of Pmcomm you can release the right mouse button. This will drop the files 
  3750. onto Pmcomm and Pmcomm will send them. This will even work if Pmcomm is an 
  3751. icon. 
  3752.  
  3753. To change the protocol for the current phone number, select upload from the 
  3754. menu and then select the protocol you want (make sure that the save to dialing 
  3755. directory is selected). After pressing the OK button the file open dialog box 
  3756. will be displayed. Just press cancel and you can now use the drag and drop with 
  3757. the new protocol. 
  3758.  
  3759. If a file is dropped onto Pmcomm while it is an icon in a group menu, this file 
  3760. will be used as a setup file, and Pmcomm will be invoked. 
  3761.  
  3762. The drag and drop feature is also available for two of the icons on the Status 
  3763. Line. For more information see Status_Line. 
  3764.  
  3765.  
  3766. ΓòÉΓòÉΓòÉ 13. Troubleshooting. ΓòÉΓòÉΓòÉ
  3767.  
  3768. Following are some problems that may occur when using Pmcomm. 
  3769.  
  3770.  
  3771. ΓòÉΓòÉΓòÉ 13.1. Device Open error. ΓòÉΓòÉΓòÉ
  3772.  
  3773. This message is displayed if Pmcomm can not open the specified device. If you 
  3774. are trying to open COM1, for example, and another program already has it open 
  3775. then this message will be displayed. If you are using the com ports on the 
  3776. machine you are running Pmcomm on (not across a LAN). Then you must have the 
  3777. com port device driver installed. There are two device drivers supplied with 
  3778. OS/2, com02.sys (for IBM PS/2's), and com01.sys for AT class machines. If you 
  3779. are running a PS/2, for example, you should have a statement in your config.sys 
  3780. file, DEVICE=C:\OS2\COM02.SYS. If not you will get the device open error. The 
  3781. default when installing OS/2 is not to install the device driver, so make sure 
  3782. that you either have, DEVICE=C:OS2\COM02.SYS or DEVICE=C:\OS2\COM01.SYS in your 
  3783. config.sys file. 
  3784.  
  3785. If you get this message when trying to access a com port on a server, refer to 
  3786. the Modem_Pool section. One of the common problems is not first logging onto 
  3787. the network before trying to access the com port. Also make sure you use Alias 
  3788. names that don't conflict with names on the local machine. For example don't 
  3789. try to use the name COM1 for the name of the remote com port, if you have a 
  3790. COM1 on your local machine. Instead use a name like COM5, which normally will 
  3791. not be used on your local machine. 
  3792.  
  3793.  
  3794. ΓòÉΓòÉΓòÉ 13.2. File transfers not available. ΓòÉΓòÉΓòÉ
  3795.  
  3796. If you have Monitor_DCD turned on under Port Options and Pmcomm does not detect 
  3797. DCD then the upload and download options will be greyed out. You can turn the 
  3798. Monitor DCD option off and you will then be able to transfer files. Some common 
  3799. reasons for Pmcomm not being able to detect are: 
  3800.  
  3801.  Serial cable that does not support the DCD line. 
  3802.  Modem not configured to have DCD follow the state of the phone line. 
  3803.  Modem does not support DCD. 
  3804.  
  3805.  The monitor DCD option should also be turned off if using Pmcomm with a modem 
  3806.  pool. 
  3807.  
  3808.  
  3809. ΓòÉΓòÉΓòÉ 13.3. Pmcomm will not dial out. ΓòÉΓòÉΓòÉ
  3810.  
  3811. The most common cause of this is a DOS program that has corrupted the com port. 
  3812. Compiled basic program that are executed in the DOS box, for example, will 
  3813. sometime poll the available devices. When this happens the com device driver is 
  3814. effected and Pmcomm will not be able to send information to the com port. When 
  3815. this happens you will have to IPL (boot) the computer. 
  3816.  
  3817.  
  3818. ΓòÉΓòÉΓòÉ 13.4. Typed characters do not echo to the screen. ΓòÉΓòÉΓòÉ
  3819.  
  3820. Some electronic information services, such as Genie, run in what is called 
  3821. "half-duplex" mode. When in this mode the typed characters are not echoed to 
  3822. the screen. Pmcomm's default mode is "full duplex" which lets the services, 
  3823. like Genie, echo the characters to the screen. To make Pmcomm echo the typed 
  3824. characters to the screen, select the Screen dialog box under the main Options 
  3825. menu and check local echo on. 
  3826.  
  3827.  
  3828. ΓòÉΓòÉΓòÉ 13.5. Help not available. ΓòÉΓòÉΓòÉ
  3829.  
  3830. This message will be displayed if Pmcomm can not find the pmcomm.hlp file in 
  3831. the current directory. If you have Pmcomm installed in a Group menu make sure 
  3832. that you have the working directory set to the directory that Pmcomm is 
  3833. installed in. 
  3834.  
  3835.  
  3836. ΓòÉΓòÉΓòÉ 13.6. Pmcomm locks with a shared serial port. ΓòÉΓòÉΓòÉ
  3837.  
  3838. If Pmcomm locks up when trying to access a shared serial port you must edit the 
  3839. ibmlan.ini file in the Server well as all of the Requesters. Change the 
  3840. variable "charwait" from its default of 3600, to 3 and then re-boot the Server 
  3841. and all of the Requesters.